Python を使用して REST API にアクセスしていますが、実行に時間がかかる場合があります (5 分以上)。私はpyelasticsearchを使用してリクエストを行い、次のようにタイムアウトを10分に設定しようとしました:
es = ElasticSearch(config["es_server_url"], timeout=600)
results = es.send_request("POST",
[config["es_index"], "_search_with_clusters" ],
cluster_query)
ただし、5分(10分ではない)後にタイムアウトしますrequests.exceptions.ConnectionError (Caused by <class 'socket.error'>: [Errno 104] Connection reset by peer)
ソケットタイムアウトを設定し、次のようにリクエストを直接使用してみました:
socket.setdefaulttimeout(600)
try:
r = requests.post(url, data=post, timeout=600)
except:
print "timed out"
毎回約 5 分後にタイムアウトします。
リクエストが返されるまで、スクリプトをより長く待機させるにはどうすればよいですか?