Я запускаю некоторые скрипты FastCGI под mod_fcgid
, и я хотел бы, чтобы они автоматически перезагружались всякий раз, когда я вносил какие-либо изменения в скрипт.
В mod_fastcgi
вы можете настроить
FastCgiConfig -autoUpdate
, чтобы сделать именно это, но mod_fcgid
не имеет такой опции.У кого-нибудь есть хороший обходной путь для этого?
Лучшее, что я придумал, это:
while (my $cgi = CGI::Fast->new()) {
processRequest($cgi);
exit if -M $0 < 0; # restart if script changed
}
, который завершается после обработки еще одного запроса.Но это не идеально, особенно когда запущено несколько экземпляров сценария, может пройти много времени, прежде чем все старые экземпляры смогут запустить еще раз и завершиться.
Если я выполню exit
до processRequest
пользователь получает сообщение об ошибке, поэтому он тоже ничего не сделает.
Заранее спасибо,
- Майкл