繁体   English   中英

ArangoDB游标超时

[英]ArangoDB Cursor Timeout

使用ArangoDB 2.3.1。 看来我的光标在几分钟之内即将到期。 我希望他们持续一个小时。 我已经使用TTL参数设置了我的AQL查询对象,如下所示:

{
    "query": 'removed actual query',
    "count": true,
    "batchSize": 5,
    "ttl": 3600000
}

我的理解是TTL参数应该告诉服务器将服务器保持3600000毫秒或1小时。 但它会在约60秒内过期。 实际上,我已经尝试将TTL更改为几个不同的数字,并且它似乎没有任何作用。 有任何想法吗?

更新:我从arango收到的实际错误是“找不到光标”

你们所有人都是对的。 但我认为这是2.3中的错误:

--- a/arangod/V8Server/v8-vocbase.cpp
+++ b/arangod/V8Server/v8-vocbase.cpp
@@ -1216,13 +1216,13 @@ static v8::Handle<v8::Value> JS_ExecuteAql (v8::Arguments const& argv) {

     optionName = v8::String::New("ttl");
     if (argValue->Has(optionName)) {
-      ttl = TRI_ObjectToBoolean(argValue->Get(optionName));
+      ttl = TRI_ObjectToDouble(argValue->Get(optionName));
       ttl = (ttl <= 0.0 ? 30.0 : ttl);
     }

ttl是双精度型 ,因此应将其强制转换为双精度型,而不是布尔型。 不幸的是,将布尔值分配给double在C ++中是有效的,因此编译器没有抱怨。

您是否尝试过使用timeout指令?

--server.keep-alive-timeout=X

X以秒为单位。

或者,您可以将其插入到服务器部分下的arangod.conf文件中,如下所示:

keep-alive-timout=X

根据手册

允许为HTTP保持活动连接指定超时。 超时值必须以秒为单位。 达到超时时,服务器将自动关闭空闲的保持活动连接。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM