2

私はいくつかの異なるライブラリを使用しています。それぞれのライブラリは、urllib3、リクエスト、httplib など、ソケット接続を作成するためのさまざまな基本的な方法を使用しています。これはpython 2.7.5にあります。

定期的に、ネットワーク IO が完了するのを待っているライブラリの 1 つで、プログラムがハングアップします。

socket.setdefaulttimeout(1.0) と socket._GLOBAL_DEFAULT_TIMEOUT = 1.0 を試しましたが、どちらもプログラムに影響しませんでした。

グローバルソケットタイムアウトを設定する適切な方法は何ですか?

4

1 に答える 1

4

関数の名前が示すように、setdefaulttimeoutは単なるデフォルトです。他のライブラリのいずれかがソケットにタイムアウトを設定すると、このデフォルトがオーバーライドされます。したがって、各ライブラリでタイムアウトを明示的に設定する以外に選択肢はありません。

完全な答えはここにあります

于 2014-02-06T13:59:25.930 に答える