使用gevent时socket.getaddrinfo()永远阻塞
我在使用 httplib2
这个库时,结合 gevent
发送多个请求,过了一段时间后,发现 http.request()
这个方法一直被卡住,无法继续执行。
经过检查,我发现导致卡住的函数是 socket.getaddrinfo()
,这个函数在 httplib2
的代码中可以找到,具体位置在这个 链接。
1 个回答
-3
使用 socket.setdefaulttimeout()
来设置默认的超时时间。因为获取地址信息的超时时间没有特别指定,所以它会使用你设置的默认超时时间。