py2neo 2.0: ОШИБКА: httpstream:! Ошибка сокета: время ожидания истекло

Я выполняю длительный (5 минут) запрос Cypher с py2neo 2.0:

graph.cypher.run(query) or 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)")

Можно ли как-то установить тайм-аут для одного запроса?


person Martin Preusse    schedule 22.11.2014    source источник
comment
Можете ли вы изменить этот параметр где-нибудь в файлах neo4j (вне скрипта)? Как в одном из файлов в папке conf?   -  person NumenorForLife    schedule 05.06.2015


Ответы (1)


В настоящее время нет способа настроить время ожидания для отдельных запросов, поскольку этот параметр применяется на уровне соединения, и одно соединение, очевидно, может использоваться для многих запросов. Однако socket_timeout, который вы используете, является правильным способом глобальной настройки тайм-аута.

person Nigel Small    schedule 23.11.2014