我用py2neo 2.0执行了长时间运行的(5分钟)Cypher查询:

graph.cypher.run(query)result = graph.cypher.execute(query)

60秒后查询失败,并出现来自HTTPstream的套接字错误:

ERROR:httpstream:! SocketError: timed out

当我使用Cypher交易时,也会发生同样的情况。使用相同的查询和py2neo 1.6.4不会发生这种情况。我可以增加py2neo等待响应的时间吗?我没有在文档中找到任何东西。



更新资料

我在socket_timeout中找到了一个硬编码的py2neo.packages.httpstream.http。将其设置为更高的值可以避免SocketError:

from py2neo.packages.httpstream import http
http.socket_timeout = 9999

result = graph.cypher.execute("MATCH (g:Gene) RETURN count(g)")


我可以以某种方式为单个查询设置超时时间吗?

最佳答案

当前无法调整单个查询的超时,因为此设置适用于连接级别,并且一个连接显然可以用于许多查询。不过,您正在使用的socket_timeout是全局调整超时的正确方法。

10-06 02:37