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