私はTornadoを使用して、数千のURLからのデータを非同期に削り取っています。それぞれ5〜50MBなので、ダウンロードに時間がかかります。にも関わらず、「例外:HTTP 599:Connection closed http:...」エラー、が続きます。connect_timeoutとrequest_timeoutの両方を非常に大きな値に設定しています。Python Tornado接続が早くタイムアウトする - タイムアウト(HTTP 599エラー)を防止する方法はありますか?
なぜ、大きなタイムアウト設定にもかかわらず、私はまだスクリプトを実行するだけで、数分後に一部の要求にタイムアウトのですか?* NEVERタイムアウトにhttpclient.AsyncHTTPClientを指示する方法はありますか?または、タイムアウトを防止するためのよりよい解決策がありますか?あなたがHTTPError 599
を注意したよう
@gen.coroutine
def request_and_save_url(url, q_all):
try:
response = yield httpclient.AsyncHTTPClient().fetch(url, partial(handle_request, q_all=q_all), connect_timeout = 60*24*3*999999999, request_timeout = 60*24*3*999999999)
except Exception as e:
print('Exception: {0} {1}'.format(e, url))
raise gen.Return([])
これは多くの意味があります。ありがとう! – cataclysmic
私の場合、599はレスポンスのサイズのためです。 https://github.com/tornadoweb/tornado/blob/master/tornado/test/simple_httpclient_test.pyこのファイルで599を検索します。私はコンテンツの長さがログファイルから長すぎるヒントを得ました。 –