Django убивает старые запросы

#django #ajax #iis #request #celery

#джанго #ajax #iis #запрос #сельдерей

Вопрос:

Я запускаю веб-сайт Django через IIS. Когда пользователь сохраняет объект, это может занять некоторое время, поэтому вместо того, чтобы заставлять его ждать завершения, AJAX-запрос отправляется на сервер с информацией об отправке, и страница немедленно перенаправляется. Однако, если сервер получает еще много запросов, этот старый запрос на сохранение уничтожается довольно неэлегантно. Файлы журнала показывают, что он завершается в середине выполнения без сообщений об ошибках или других указаний на сбой.

Как мне сохранить старые запросы в Django?

PS Я уже исследовал запуск нового многопоточного процесса, но столкнулся с проблемами, связанными с моделями Django, и я ищу что-то более простое, чем сельдерей.

Ответ №1:

Оказывается, Django не убивал запросы, IIS был. Для FastCGI, посредника между Django и IIS, существует значение тайм-аута, равное 30 секундам. Поэтому, когда мой запрос на сохранение достиг этого срока, он просто закончился без предупреждения.

Вы можете изменить это, щелкнув по имени сервера в IIS, затем щелкнув значок «Настройки FastCGI», а затем щелкнув используемое приложение FastCGI. В разделе «Модель процесса» измените «Тайм-аут активности» и «Тайм-аут запроса» на более высокий предел, я использовал 300 в течение 5 минут, чтобы быть в безопасности.