Czas pracy pracownika Gunicorn

Mam aplikację Django działającą w Gunicorn za Nginxem. Wszystko działa dobrze, wyjdź na jedną dziwną rzecz: mam widok „download” i RESTful json API. Po wywołaniu widoku pobierania używam urllib2, aby uzyskać dostęp do interfejsu API json, aby uzyskać informacje. I dokładnie, gdy próbuję wykonać to żądanie HTTP do api json, żądanie przekroczy limit czasu z błędem HTTP 504: Limit czasu bramy.

Kiedy uruchamiam kod za pomocą ./manage.py runserver, wszystko działa dobrze. Żądanie http do api json zajmuje tylko kilka milisekund, więc nie ma niebezpieczeństwa przekroczenia limitu czasu.

Oto sytuacja w kodzie pseudo:

myproject / views.py: (dostępne jako: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')

Theopener.open() Wywołanie w linii czwartej powoduje przekroczenie limitu czasu podczas biegu w Gunicorn, gdy biegniesz z./manage.py runservereverytihng działa dobrze (a wywołanie api zajmuje tylko kilka milisekund).

Czy ktoś miał ten sam problem? I co ważniejsze: jak to rozwiązałeś?

questionAnswers(1)

yourAnswerToTheQuestion