2014-11-22 30 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正確調整全局超時的方法。