如何终止Neo4j中当前正在长时间运行的查询

36
我该如何在不重启服务器的情况下终止Neo4j中当前正在运行的长时间查询?
我知道我们可以全局为查询设置超时时间,但有时我希望在服务器上执行需要一段时间的重型查询/创建/更新操作...
谢谢。

@PeterNeubauer:2.0的第一个稳定版本什么时候会发布?以及这个特性具体会在什么时候发布? - Gil Stal
也许,将长时间运行的查询替换为多个短时间运行的查询?您能否在此处或通过电子邮件写下您的任务? - Evgenii
您可以创建插件并在新线程中执行每个长时间运行的查询(并在需要时终止它)。 - Evgenii
4
现在2.0版本已经发布一段时间了,有没有一种方法可以在不编写插件的情况下完成这个任务? - Tasos Bitsios
1
请查看此论坛帖子:https://groups.google.com/forum/m/#!topic/neo4j/5ec8FThLTeo - TechnoCrat
显示剩余3条评论
5个回答

11

可用于版本大于3.1企业版配备

CALL dbms.listQueries()
CALL dbms.killQuery(queryId) 

管理员可以“kill'em all”

还有

 :queries

我使用的是3.4.0版本。由于某种原因,它无法取消查询。 - expert
@专家 企业版? - Jerome_B
@Jerome_B 是的,从他们的Docker镜像中获取企业版。 - expert
@专家,即使我终止了查询,在浏览器中加载程序仍在运行。我使用电影数据集(:play movies)验证了这个长时间运行的查询: MATCH (n),(m),(o) RETURN n,m,o图标必须被点击两次,第二次不是十字形。我认为这有点违反直觉。 - Jerome_B
@专家 我也使用了dbms.killQuery进行验证,它有效。 - Jerome_B

1

目前在Neo4j中没有终止查询的方法。至少在我需要时,我搜索了很多次文档,也没有找到任何东西。


1
2.2版本在这个领域有一些功能,但仍然没有监控工具,可以查看其他客户端运行的查询,您只能终止自己长时间运行的查询,通过Web UI或shell执行。 Neo4J 2.2 Release Notes

0

我发现在Shell中按下CTRL-C可以终止查询(运行V3.0.3)


0

我认为在Neo4j中没有中止查询的方法。

使用Guard工具可以自动终止长时间运行的查询(您可以选择操作的最大数量或超时)。有一些说明已经发送出去了(我没有立即找到,我需要运行)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接