2014-11-22 88 views
15

我执行长时间运行(5分钟路程)的Cypher查询与py2neo 2.0:py2neo 2.0:错误:httpstream:! SocketError:超时

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

查询失败后〜60秒,从httpstream套接字错误:

ERROR:httpstream:! SocketError: timed out

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


更新

py2neo.packages.httpstream.http发现了一个硬编码socket_timeout。将其设置为更高的值可避免SocketError:

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

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

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

+0

你可以在neo4j的文件(脚本之外)的某处更改此设置吗?就像在conf文件夹中的一个文件中一样? – NumenorForLife 2015-06-05 14:28:11

回答

9

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