2014-02-06 5 views
1

각기 다른 urllib3, 요청 및 httplib과 같은 소켓 연결을 위해 다른 기본 방법을 사용하는 다양한 라이브러리를 사용하고 있습니다. 이것은 파이썬 2.7.5에 있습니다.파이썬에서 글로벌 소켓 타임 아웃을 설정하는 적절한 방법은 무엇입니까?

주기적으로 프로그램은 네트워크 IO가 완료 될 때까지 대기하는 라이브러리 중 하나에서 중단됩니다.

나는 socket.setdefaulttimeout (1.0)과 socket._GLOBAL_DEFAULT_TIMEOUT = 1.0을 시도했지만 어느 것도 내 프로그램에 아무런 영향을 미치지 않았다.

글로벌 소켓 시간 초과를 설정하는 적절한 방법은 무엇입니까?

답변

3

함수의 이름에서 알 수 있듯이 setdefaulttimeout이 기본값입니다. 다른 libs와의 소켓에 타임 아웃을 설정하면이 기본을 무시합니다 .. 그래서 나는 완전한 해답을 찾을 수 있습니다 명시 적으로

각 도서관에서 시간 제한을 설정하는 선택의 여지가 있지만 볼 here