Gunicorn Worker Timeout

Ich habe eine Django-Anwendung, die in Gunicorn hinter Nginx läuft. Alles funktioniert einwandfrei, abgesehen von einer seltsamen Sache: Ich habe eine "Download" -Ansicht und eine RESTful-Json-API. Beim Aufrufen der Download-Ansicht verwende ich urllib2, um auf die json-API zuzugreifen und Informationen abzurufen. Und genau, wenn ich versuche, diese HTTP-Get-Anforderung an die JSON-API zu senden, läuft die Anforderung mit einem Fehler ab. HTTP-Fehler 504: Gateway-Timeout.

Wenn ich den Code mit ./manage.py runserver ausführe, funktioniert alles einwandfrei. Die http get-Anfrage an die json-API dauert ebenfalls nur wenige Millisekunden, sodass keine Gefahr besteht, dass eine Zeitüberschreitung auftritt.

Hier die Situation im Pseudocode:

myproject / views.py: (erreichbar als:http://myproject.com/download)

1   def download(request, *args, **kwargs):
2       import urllib2
3       opener = urllib2.build_opener()
4       opener.open('http://myproject.com/api/get_project_stats')

Dasopener.open() call in line four läuft in Gunicorn mit einem Timeout./manage.py runserverAlles funktioniert einwandfrei (und der API-Aufruf dauert nur wenige Millisekunden.

Hat jemand das gleiche Problem gehabt? Und was noch wichtiger ist: Wie haben Sie es gelöst?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage