Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Если работа скрипта прерывается из-за ошибки, то он должен быть перезапущен как можно скорее.
Если скрипт подвисает на выполнении одной из итераций, то он должен быть перезапущен как можно скорее.
Скрипт должен перезапускаться каждые 5-10 часов, чтобы предотвратить возможные утечки памяти. Остановка скрипта в этом случае должна производиться безопасным образом (когда задачи текущей итерации выполнены).
Необходимо некий индикатор того, что скрипт в данный момент запущен
Необходимо наличие возможности принудительно остановить выполнение скрипта.
Апач это апач, он в единственном числе всегда.
Удалять pid-файл для остановки процесса неправильно т.к. в нашем случае он будет повторно запущен CRON-ом в ближайшие 5 минут. Таким образом, чтобы заблокировать выполнение скрипта на сутки придётся каждые 5мин удалять .pid файлы.
А под виндовс кстати может хоть 10 процессов одной и той же программы быть запущено и у каждой будет свой pid
PID: 12656471471193231407
Started: 2010-02-08 19:39:07
Worked: 2010-02-08 19:39:10
Expire: 2010-02-08 19:39:26
Если скрипт подвисает на выполнении одной из итераций, то он должен быть перезапущен как можно скорее.
Скрипт должен перезапускаться каждые 5-10 часов, чтобы предотвратить возможные утечки памяти. Остановка скрипта в этом случае должна производиться безопасным образом (когда задачи текущей итерации выполнены).
Необходимо наличие возможности принудительно остановить выполнение скрипта.
Перезапуск каждые 5-10 часов сделать несложно — при каждой итерации проверять, сколько натикало, да завершать скрипт. Но, поскольку они и так по таймлимиту завершались, то такой необходимости тоже не было.
Организация уникальных процессов — ScriptAlone спешит на помощь