2014-08-19 3 views
1

Я запускаю инструмент Perl CGI, который выполняет системную команду (Unix), которая может работать в течение нескольких секунд до часа. После завершения скрипта инструмент должен отображать журнал результатов на экране (в браузере). Проблема в том, что примерно через 5 минут я получаю сообщение о тайм-ауте «Gateway Time-out» - системная команда продолжает работать, но я не могу показать пользователю результаты запуска.Время ожидания Apache в perl Инструмент CGI

В конфигурационном файле Apache (httpd.conf): Тайм-аут 300.

Есть простого способа заказа Apache увеличить время ожидания только для конкретного запуска? Я действительно не хочу менять тайм-аут Apache на постоянной основе (или должен ли я?) И не резко обновлять код (много регрессионных тестов).

Заранее спасибо.

Майк

ответ

2

Сделать скрипт генерирует некоторый вывод каждый раз в то время. Тайм-аут не для запуска программы для завершения, но является таймаутом, пока Apache ждет данных. Поэтому, если вам удастся заставить вашу программу выпустить что-то регулярно во время работы, все будет в порядке.

Обратите внимание, что HTTP-клиенты, то есть браузеры, также имеют свой собственный тайм-аут. Если ваш браузер не получает никаких новых данных с веб-сервера пять минут (обычно), браузер объявит тайм-аут и сдастся, даже если сервер все еще обрабатывает. Если ваша длительная обработка дает некоторый результат время от времени, это также поможет в тайм-аутах браузера!

0

Для полноты:

Хотя принятый ответ является лучшим (это по-разному известный как KeepAlive пакетов в TCP/IP, или щекотать пакеты еще в AppleTalk дней) ты спросить, если вы можете сделать динамический Apache конф.

Модуль apache может это сделать. О, но это боль, чтобы писать в C. Помните, что mod_perl (и в некоторой степени mod_python, хотя он устарел) не только обработчики, но и внутренняя конфигурация в perl. Вы могли бы написать что-то сложное, чтобы увеличить тайм-аут в определенных ситуациях. Но это будет медведь, чтобы писать и тестировать, и вам лучше делать то, что говорит Криски.

Смежные вопросы