Тайм-аут рабочего Gunicorn
У меня есть приложение Django, работающее в Gunicorn за Nginx. Все отлично работает, за исключением одной странной вещи: у меня есть "скачать" просмотр и RESTful JSON API. При вызове представления загрузки я использую urllib2 для доступа к API json для получения информации. И именно тогда, когда я пытаюсь выполнить этот запрос http get к json api, запрос завершается с ошибкой HTTP Error 504: Gateway Time-out.
Когда я запускаю код с помощью ./manage.py runserver, все работает нормально. Запрос http get к json api также занимает всего несколько миллисекунд, так что нет опасности столкнуться с таймаутом.
Вот ситуация в псевдокоде:
MyProject / views.py: (доступно как: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()
вызов в строке четыре запускается по таймауту при запуске в Gunicorn, при запуске с./manage.py runserver
Everytihng работает нормально (и вызов API занимает всего несколько миллисекунд.
У кого-нибудь была такая же проблема? И еще важнее: как вы решили это?