3
前一段時間我寫的代碼,與國外服務交互爲我的Django項目:GEVENT打破請求/ urllib2的超時
try:
response = requests.get('some host', timeout=TIMEOUT)
except:
log.warning('timeout')
return None
我在devel的envierment(python manage.py runserver
)和超時工作正常進行了測試。然後,我決定通過指定池實現與GEVENT修補它gunicorn,就像這樣:
python manage.py run_gunicorn -k gevent
現在get
通話不會被timout異常中斷。我改變池實施eventlet,它按預期工作:
python manage.py run_gunicorn -k eventlet
有沒有什麼辦法來解決GEVENT?
嘗試將gevent更新爲其github版本。 'socket.setdefaulttimeout(TIMEOUT)'應該工作。 – jfs