我尝试了python请求库文档中提供的示例:
http://docs.python-requests.org/en/latest/user/advanced/#asynchronous-requests
与async.map(rs)我得到的响应代码,但我想请求每一页的内容.
out = async.map(rs)
print out[0].content
例如,只是不工作.
首先,版本:
我们最近升级了在gunicorn后面运行的服务器,以使用gevent异步工作程序而不仅仅是普通的同步工作程序.一切都很好,但我们现在遇到一个问题,试图通过http访问第三方服务,我只是不知道如何追踪可能是什么问题.
简短的堆栈跟踪如下所示:
File "/home/deploy/.virtualenvs/bapp/lib/python2.7/site-packages/requests/sessions.py", line 295, in post
  return self.request('post', url, data=data, **kwargs)
File "/home/deploy/.virtualenvs/bapp/lib/python2.7/site-packages/requests/sessions.py", line 252, in request
  r.send(prefetch=prefetch)
File "/home/deploy/.virtualenvs/bapp/lib/python2.7/site-packages/requests/models.py", line 625, in send
  raise ConnectionError(sockerr)
ConnectionError: [Errno 66] unknown
另一个不同的堆栈跟踪但我们认为它是同一个问题:
File "/home/deploy/.virtualenvs/bapp/lib/python2.7/site-packages/requests/packages/urllib3/connectionpool.py", line 94, in connect
  sock = socket.create_connection((self.host, self.port), self.timeout)
File "/home/deploy/.virtualenvs/bapp/lib/python2.7/site-packages/gevent/socket.py", line 637, in create_connection
  for res in getaddrinfo(host, port, 0, SOCK_STREAM):
File "/home/deploy/.virtualenvs/bapp/lib/python2.7/site-packages/gevent/socket.py", line 769, in getaddrinfo
  raise
DNSError: [Errno 66] unknown
起初,我以为这可能是潜在的东西相关的libevent-dns …