Как правильно установить глобальное время ожидания сокета в Python?
Я использую несколько разных библиотек, каждая из которых использует разные базовые способы создания соединений с сокетами, такие как urllib3, запросы и httplib. это в Python 2.7.5.
периодически программа зависает в одной из библиотек, ожидающих завершения сетевого ввода-вывода.
Я пробовал socket.setdefaulttimeout(1.0) и socket._GLOBAL_DEFAULT_TIMEOUT = 1.0, и ни одна из них не повлияла на мою программу.
Как правильно установить глобальное время ожидания сокета?
1 ответ
Как следует из названия функции, setdefaulttimeout
это просто по умолчанию. Если какая-либо из других библиотек установит тайм-аут для сокета, он переопределит это значение по умолчанию. Поэтому я не вижу другого выбора, кроме как установить тайм-аут в каждой библиотеке явно
Полный ответ можно найти здесь