我使用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)")
我可以以某种方式为单个查询设置超时吗?
答案 0 :(得分:9)
目前无法调整单个查询的超时,因为此设置适用于连接级别,并且显然可以将一个连接用于许多查询。您使用 socket_timeout
是全局调整超时的正确方法。