долго работающий скрипт на питоне - PullRequest
0 голосов
/ 31 января 2012

У меня есть приложение из следующих частей:

client->nginx->uwsgi(python)

, и некоторые скрипты на Python могут работать долго (2-6 минут).После выполнения скрипта я должен предоставить клиенту контент, но разрыв соединения с ошибкой «timeout 504 gateway».Что я могу использовать в моем случае, чтобы избежать этой ошибки?

Ответы [ 3 ]

2 голосов
/ 31 января 2012

Итак, ваша цель - сократить время выполнения сценариев или не дать им истечь? Браузеры собираются отказаться от 6-минутного запроса, независимо от того, что вы пытаетесь.

Возможно, попробовать выполнить работу на сервере, а затем опросить ход выполнения запросов AJAX?

Или, если возможно, попробуйте оптимизировать сценарии. Например, если у вас есть какие-то ужасно медленные вещи SQL, попробуйте очистить их.

В противном случае, без дополнительной информации трудно дать более конкретный ответ.

0 голосов
/ 15 февраля 2012

Это сильно зависит от настроек вашего сервера (то есть от того, насколько легко передать данные обратно клиенту), но возможно ли при запуске вашего длинного приложения периодически отправлять некоторый «нулевой» контент (например, простые переводы строки, предполагая, что ваш выводhtml) так, чтобы браузер думал, что это просто медленное соединение, а не зависшее?

0 голосов
/ 07 февраля 2012

Однажды я установил систему, в которой «главная страница» содержала Iframe, которая отображала вывод программы, работающей долго, в виде текста / обычного текста. Я думаю, что обработчиком содержимого Iframe был скрипт CGI Python, который генерировал все заголовки, а затем выводил программу построчно под сервером Apache.

Я не знаю, будет ли это работать в вашей конфигурации.

...