繁体   English   中英

Neo4j DB-客户端连接

[英]Neo4j DB - client connection

我有一个关于控制查询“超时”的问题。 我要实现的是我可以控制“查询超时”-我想设置它为3秒钟,如果查询需要更长的时间,我将得到一个异常/无论如何。

到目前为止,我什至尝试了无数种方法,即使重写了一些API以便在RestRequest中到达客户端以在此处进行设置...但是我没有事务控制。

我不会发布已经使用过或尝试过的组件的任何版本,因为更改它并不大。 唯一的限制是Java版本6。

请发表一些我可以使用的建议/方法...因为我出于想法。

干杯!

您可以使用以下设置在conf/neo4j-server.properties配置事务超时:

org.neo4j.server.transaction.timeout=NUMBER_OF_SECONDS_HERE

此处的文档中提供了更多信息

编辑

您可以通过在Neo4j服务器上启用执行保护并将max-execution-time标头添加到您的请求中来控制每个查询的超时:

conf/neo4j-server.properties设置:

org.neo4j.server.webserver.limit.executiontime=MAX_POSSIBLE_MS_HERE

conf/neo4j.properties设置:

execution_guard_enabled=true

然后添加标头max-execution-time=100并且该查询的超时仅为100ms。

此处此处提供更多信息

我刚刚针对Neo4j 2.2.5的传统Cypher HTTP端点事务性Cypher端点进行了测试。

根据我的测试(neo4j 2.2.2),您似乎需要设置以下两项:

./conf/neo4j.properties

execution_guard_enabled=true

并在./conf/neo4j-server.properties

org.neo4j.server.webserver.limit.executiontime={timeout_in_seconds}

(注意:此数字以秒为单位,而不是毫秒)

在添加到请求标头中的查询特定超时之前,此方法将起作用。

`max-execution-time={timeout_in_milliseconds}`

Neo4j将使用较短的超时时间,因此请在属性文件中指定较大的超时时间。

暂无
暂无

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

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