2014-02-06 5 views
1

Я использую несколько разных библиотек, каждый из которых использует различные базовые способы для создания соединений сокетов, таких как urllib3, запросы и httplib. это в python 2.7.5.Каков правильный способ установить глобальный тайм-аут сокета в python?

Программа периодически зависеть в одной из библиотек, ожидающих завершения ввода IO сети.

Я пробовал socket.setdefaulttimeout (1.0) и socket._GLOBAL_DEFAULT_TIMEOUT = 1.0, и ни один из них не повлиял на мою программу.

Каков правильный способ установить глобальный тайм-аут сокета?

ответ

3

Как следует из названия функции, setdefaulttimeout является стандартным. Если какие-либо из другой LIBS установить тайм-аут на сокете, он будет изменить значение по умолчанию .. Так что я не вижу никакого выбора, кроме как установить тайм-аут в каждой библиотеке явно

Полный ответ можно найти here