Neo4j超时无法正常工作

时间:2015-11-17 08:18:30

标签: neo4j

我在Neo4j上运行一些测试,包括执行计算我的大图的最长最短路径的查询。由于我希望查询花费很长时间,因此我使用了here指令来设置超时30分钟。

我注意到即使设置了超时,查询也会继续运行很长时间(我不得不手动终止它)。 但是,如果我设置了一个非常低的超时(例如10毫秒),这个问题就消失了。 有人知道发生了什么吗?

提前致谢。

1 个答案:

答案 0 :(得分:3)

据我所知 - guard功能已被弃用(请查看答案here)。目前稳定的Neo4j发布文档中没有提及此功能。

我认为在这种情况下你能做到最好 - 在客户端管理查询执行时间。对于不同的查询,这可以为您提供足够的灵活性来管理不同的超时时间。

在Java中,例如,您可以在单独的Thread中开始查询,并等待结果直到达到某个超时。

Neo4j 2.3 +

如果您没有使用最新稳定的Neo4j版本(编写时间为2.3.1),那么您肯定应该尝试升级。

2.3是非常重要的发布,有很多错误修正和新功能。所以,可能你的问题已经解决了。

插件

此外,您可以创建简单的Neo4j plugin,其中包含:

  • 接收查询和超时值
  • 通过GraphDatabaseService
  • 在Neo4j中执行
  • 如果执行达到超时,则终止事务
  • 如果查询成功执行,则返回响应
相关问题