前段时间,我为我的 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
现在get
调用不会被超时异常中断。我将池实现更改为eventlet,它按预期工作:
python manage.py run_gunicorn -k eventlet
有什么办法可以修复gevent吗?