我尝试使用来自多处理库的池中的grequests进行异步http调用。我遇到一个问题,表明grequest和multiprocessing可能彼此不兼容;特别是,调用monkey.patch_all()
会破坏池的创建。在
最初,在我的代码中没有调用monkey.patch_all()
:
from gevent import monkey
monkey.patch_all()
我有两个错误:
^{pr2}$以及
requests.exceptions.ConnectionError: None: Max retries exceeded with url: SOME_URL (Caused by redirect)
调用monkey.patch_all()
可修复上述错误,但会导致代码挂起:
p = Pool(THREAD_POOL_SIZE)
不调用monkey.patch_all()
将导致我的池创建成功。调用monkey.patch_all(thread=False, socket=False)
也可以成功创建池,但不能解决前两个错误。在
目前没有回答
相关问题 更多 >
编程相关推荐