当与gevent一起使用时,socket.getaddrinfo()会永远阻塞

问题描述:

使用httplib2,我用gevent发送多个请求,一段时间后http.request()http.request()方法被永远阻止.
经过检查,我发现阻塞功能在httplib2中的socket.getaddrinfo() 链接.

Using httplib2, I am sending multiple requests with gevent, after some time http.request() method of httplib2 is getting blocked forever.
On checking I found that blocking function is socket.getaddrinfo() in httplib2 link.

使用socket.setdefaulttimeout()设置默认超时.由于未指定getaddrinfo的超时,它将使用默认超时.

set default timeout using socket.setdefaulttimeout(). since timeout of getaddrinfo is not specified it will use default timeout.