Mam aplikację Django działającą w Gunicorn za Nginx. Wszystko działa dobrze, wyjasnij za jedną dziwną rzecz: Mam widok "pobierania" i interfejs API RESTful json. Kiedy zadzwonić do widoku pobierania, używam urllib2, aby uzyskać dostęp do API json, aby uzyskać informacje. I dokładnie, gdy próbuję wykonać to żądanie HTTP do apletu json, żądanie kończy się z błędem HTTP Error 504: Gateway Time-out.Limit czasu pracownika Gunicorn
Po uruchomieniu kodu z serwerem uruchomieniowym ./manage.py wszystko działa poprawnie. Żądanie http do json api zajmuje tylko kilka milisekund, więc nie ma niebezpieczeństwa przekroczenia limitu czasu.
Tutaj sytuacja w pseudokod:
myproject/views.py: (dostępny 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')
opener.open()
wezwanie zgodne cztery biegnie do limitu czasu podczas pracy w Gunicorn , przy uruchomieniu z ./manage.py runserver
wszystko działa dobrze (a wywołanie api zajmuje tylko kilka milisekund
Czy ktoś miał ten sam problem? Ważne: jak to rozwiązałeś?
Czy próbowali grać z [Ustawienia limitu czasu Gunicorn] (http: // docs.gunicorn.org/en/latest/configure.html#timeout) –