python-gevent中断请求/ urllib2超时

前段时间,我为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,谢谢您的提示!

上一篇:异步队列---celery的使用


下一篇:AT2167 [AGC006F] Blackout