3

前段时间,我为我的 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吗?

4

1 回答 1

3

我在这里找到了解决方案。此错误已在1.0dev版本中修复,您可以从 github 安装它:

pip install cython
pip install git+https://github.com/surfly/gevent.git

@jf-sebastian,谢谢你的提示!

于 2013-07-01T11:34:34.893 回答