我在Neo4j上运行一些测试,包括执行计算我的大图的最长最短路径的查询。由于我希望查询花费很长时间,因此我使用了here指令来设置超时30分钟。
我注意到即使设置了超时,查询也会继续运行很长时间(我不得不手动终止它)。 但是,如果我设置了一个非常低的超时(例如10毫秒),这个问题就消失了。 有人知道发生了什么吗?
提前致谢。
答案 0 :(得分:3)
据我所知 - guard
功能已被弃用(请查看答案here)。目前稳定的Neo4j发布文档中没有提及此功能。
我认为在这种情况下你能做到最好 - 在客户端管理查询执行时间。对于不同的查询,这可以为您提供足够的灵活性来管理不同的超时时间。
在Java中,例如,您可以在单独的Thread
中开始查询,并等待结果直到达到某个超时。
如果您没有使用最新稳定的Neo4j版本(编写时间为2.3.1),那么您肯定应该尝试升级。
2.3是非常重要的发布,有很多错误修正和新功能。所以,可能你的问题已经解决了。
此外,您可以创建简单的Neo4j plugin,其中包含:
GraphDatabaseService