前段时间,我为Django项目编写了与外部服务交互的代码:
try:
response = requests.get('some host', timeout=TIMEOUT)
except:
log.warning('timeout')
return None
我在开发环境(python manage.py runserver)中对其进行了测试,并且超时工作正常.然后,我决定通过指定gunicorn的池实现来用gevent对其进行修补,如下所示:
python manage.py run_gunicorn -k gevent
现在,getout不会被timout异常打断.我将池实现更改为eventlet,并且按预期方式工作:
python manage.py run_gunicorn -k eventlet
有什么办法可以解决gevent吗?
解决方法:
我找到了解决方案here.此错误已在1.0dev版本中修复,您可以从github安装它:
pip install cython
pip install git+https://github.com/surfly/gevent.git
@ j-f-sebastian,谢谢您的提示!