小编Fuz*_*Ami的帖子

"curl: (52) Empty reply from server" / 查询 ElastiscSearch 时超时

我的 ElasticSearch(版本 1.5.2)遇到了一个烦人的问题:查询立即返回超时(当我使用 python 的请求时)或

curl: (52) 来自服务器的空回复

当我使用 curl 时。

这仅在预期输出很大时发生。当我发送一个类似(但更小)的查询时,它返回得很好。

这里发生了什么?我怎样才能克服这个?

elasticsearch

6
推荐指数
5
解决办法
1万
查看次数

Couchbase View不立即更新?

我只是按照这篇文章来测试Couchbase View.当编辑视图使用Couchbase GUI并保存时,视图没有立即更新.

例如.使用php脚本将一些数组存储到Couchbase.并在'dev_sessions'文档中定义一个命名的'last'视图:

function (doc) {
if(doc.namespace == 'sessions') {
emit(doc.lastSeen, 1);
}
}
Run Code Online (Sandbox Code Playgroud)

然后使用curl获取json结果.第一次:

$ curl
http://192.168.228.134:8092/default/_design/dev_sessions/_view/last/?group_level=1&reduce=true'
{"rows":[ ] }
Run Code Online (Sandbox Code Playgroud)

第二:

$ curl 'http://192.168.228.134:8092/default/_design/dev_sessions/_view/last/?group_level=1&reduce=true'
{"rows":[
{"key":1352872218,"value":1},
{"key":1352879418,"value":3}
]
}
Run Code Online (Sandbox Code Playgroud)

另一个测试,在php脚本中添加一个新数组:

'eb255262434407766f212d1b6f23' => array(
'namespace' => 'sessions',
"type" => "user",
"userID" => "1107",
'lastSeen' => time(),
'firstSeen' => time(),
"remoteAddress" => "2.3.4.5",
"location" => "Vienna/Austria",
"name" => "Golden K"
Run Code Online (Sandbox Code Playgroud)

再次运行curl,第一次:

$ curl 'http://192.168.228.134:8092/default/_design/dev_sessions/_view/last/?group_level=1&reduce=true'
{"rows":[
{"key":1352872218,"value":1},
{"key":1352879418,"value":3}
]
}
Run Code Online (Sandbox Code Playgroud)

第二次:

$ curl 'http://192.168.228.134:8092/default/_design/dev_sessions/_view/last/?group_level=1&reduce=true'
{"rows":[
{"key":1352875163,"value":1},
{"key":1352882363,"value":4}
]
} …
Run Code Online (Sandbox Code Playgroud)

couchbase couchbase-view

5
推荐指数
1
解决办法
3186
查看次数

Google Packaged App Native Messaging

我有一个Windows控制台应用程序和一个Chrome打包的应用程序,我试图进行双向通信.我跟着他们使用python应用程序的例子,但我没有运气.

我采取了以下步骤:

  1. 在我的注册表中创建此条目HKEY_LOCAL_MACHINE\SOFTWARE\Google\NativeMessagingHosts:my.app.name:c:\ path\to\my.app.name.json

  2. 我在该位置创建了json文件:{"name":"my.app.name","description":"Chrome Native Messaging API","path":"c:\ path\to\my.app .name\consoleApp.exe","type":"stdio","allowed_origins":["chrome-extension:// offmjeicniagcebcbclkdlkllfibllfh /"]}

  3. 我在打包的应用脚本中添加了以下内容:

    function connect() {
     var hostName = "my.app.name";
     appendMessage("Connecting to native messaging host <b>" + hostName + "</b>")
     port = chrome.runtime.connectNative(hostName);
     port.onMessage.addListener(onNativeMessage);
     port.onDisconnect.addListener(onDisconnected);        
    }
    
    function appendMessage(text) {
     document.getElementById('messages').innerHTML += "<p>" + text + "</p>";
    }
    
    function onNativeMessage(message) {
      appendMessage("Received message: <b>" + message + "</b>");
    }
    
    function onDisconnected() {
     appendMessage("Failed to connect: " + chrome.runtime.lastError.message);
     port = null;
    }
    
    Run Code Online (Sandbox Code Playgroud)

当我单击一个调用connect函数的按钮时,我收到此错误:

"指定了无效的本机消息传递主机名"

我试过用我能想到的每一种方式玩这个但是没有太多文档或示例代码(几乎没有).有没有人有任何想法?

谢谢

javascript windows google-chrome google-chrome-app chrome-native-messaging

5
推荐指数
1
解决办法
2294
查看次数

如何使用Python和Prometheus Pushgateway推送指标

我希望使用Pushgateway将多标签指标推入Prometheus.文档提供了一个curl示例,但我需要通过Python发送它.另外,我想在指标中嵌入多个标签.

python prometheus

5
推荐指数
4
解决办法
7690
查看次数

眼镜蛇和毒蛇的配置文件

基本信息:我创建了一个go应​​用程序,并使用了Cobra。眼镜蛇使用Viper作为命令行参数和标志。

我有一个带有标志绑定的侦听命令,我想在yaml文件中进行配置。

码:

listen命令的init函数如下所示:

func init() {
    RootCmd.AddCommand(listenCmd)
    listenCmd.Flags().StringP("bind", "b", ":50051", "Provide bind definition")
    viper.BindPFlag("bind", listenCmd.Flags().Lookup("bind"))
}
Run Code Online (Sandbox Code Playgroud)

我的应用程序代码位于https://github.com/sascha-andres/go-logsink

问题:

当我使用listen --bind "bla"将该标志正确设置为的应用程序调用时bla,但是我还没有找到使用位于我的主目录中的YAML文件来实现此目标的方法。

尝试的配置文件:

---

connect:
  bind: "bla"
Run Code Online (Sandbox Code Playgroud)

---

bind: "bla"
Run Code Online (Sandbox Code Playgroud)

在这两种情况下,都找到了配置文件,但是该标志不是期望值,而是默认值。

如何编写配置文件以正确填充标志?

go viper-go go-cobra

5
推荐指数
1
解决办法
3580
查看次数

什么是“ LoadingCache”?

Google提供了“ 加载缓存 ”,其描述如下:

从键到值的半永久映射。值由缓存自动加载,并存储在缓存中,直到被逐出或手动无效。

不幸的是,上面的描述并不十分清楚。“自动加载”是什么意思?

我希望它的意思是:“如果请求的密钥在缓存中不存在,则将其自动添加到其中”。

该语句(通过get()函数)对此提供了某种支持:

“返回与此缓存中关联的值,必要时首先加载该值。”

但是同样,用单词“ loading”来解释高速缓存的“ loading”方面。方式,Google:[

caching guava

5
推荐指数
1
解决办法
3589
查看次数

apns-expiration字段的默认值是什么?

apns-expiration字段决定了Apple在放弃传递消息之前会保留apns消息的时间(例如,如果设备已关闭)。

根据他们的文档,零值表示“无保留”:意味着如果无法立即传递邮件,则将其丢弃。

但是,如果指定标题怎样?换句话说,默认行为是什么?

apple-push-notifications

5
推荐指数
1
解决办法
1850
查看次数

具有回调的Native Messaging postMessage

所以,我创建了一个端口

var port = chrome.runtime.connectNative("my.native.app");
Run Code Online (Sandbox Code Playgroud)

我会定义

port.onMessage.addListener(onNativeMessage);
port.onDisconnect.addListener(onDisconnect);
Run Code Online (Sandbox Code Playgroud)

所以我打电话的时候

port.postMessage({"text":"messsage"});
Run Code Online (Sandbox Code Playgroud)

它使用标准输入/输出进入我的本机应用程序,我得到了我的回复.

这是我的问题:我有几个期望响应的函数,而其他函数没有.我希望能够发布消息并等待本机应用程序(持续运行)的响应.这是怎么做到的?

我知道"一次性消息"通过sendMessageNative哪个很好,除了我使用我的本机应用程序作为状态机,所以它在完成后杀死我的应用程序,这是不好的.

javascript google-chrome google-chrome-extension chrome-native-messaging

4
推荐指数
2
解决办法
3112
查看次数

如何传递布尔参数去标志

我有一个简单的布尔标志,我希望将args传递给:

import (
    "flag"
    ...
 )

var debugMode = flag.Bool("debug", false, "run in debug mode")
flag.Parse()
if *debugMode == true {
    //print something
}
Run Code Online (Sandbox Code Playgroud)

此代码编译并运行 - 但变量始终为true.我使用以下电话:

my_application -debug false
Run Code Online (Sandbox Code Playgroud)

它从来都不是假的.我究竟做错了什么?

flags go

4
推荐指数
1
解决办法
5268
查看次数

golang中的字符串到数字转换

Golang 有strconv库,可以将字符串转换为 int64 和 uint64。

但是,其余的整数数据类型似乎不受支持,因为我找不到 byte、int16、uint16、int32、uint32 数据类型的转换函数。

人们总是可以在不损失精度的情况下从字节、16 位和 32 位数据类型转换为 int64 和 uint64。这是语言的本意吗?

go

4
推荐指数
2
解决办法
1万
查看次数