Постоянное выполнение PHP-скрипта в фоновом режиме

Постоянное выполнение PHP-скрипта в фоновом режиме

Я создал PHP-файл, содержащий бесконечный цикл, который выполняет определенные проверки и действия, если переменные изменяются (то, что находится внутри скрипта, вероятно, не очень важно для моего вопроса). Я хочу, чтобы служба всегда работала, пока я не скажу ей остановиться. После некоторых поисков я решил использовать его nohupдля этой задачи. Однако недостатком nohup является то, что я не могу реально отслеживать, отключена ли служба (кроме ручного запуска ps -auxи поиска процесса).

Я также читал о supervisord, что тоже звучит довольно хорошо, но я немного запутался и не знаю, какое решение лучше. Я хочу, чтобы скрипт PHP автоматически запускался при перезагрузке, и я хочу, чтобы служба проверяла, выполняется ли скрипт, если нет, я хочу, чтобы он перезагрузился/выдал оповещение, чтобы я мог проверить, что происходит.

Мне следует использовать либо , nohupлибо supervisord? Или вы, ребята, рекомендуете что-то совершенно другое? Было бы здорово, если бы я мог запустить службу внутри контейнера Docker, где я мог бы просто добавить выполнение службы внутри Dockerfile.

решение1

Похоже, вам лучше просто использовать старый добрый CRON.

Вы можете настроить любой скрипт на запуск с любым интервалом, хотя я бы не рекомендовал запускать его постоянно, может быть, запускать его каждые 5 минут. Так что-то вроде этого:

*/5 * * * * php /path/to/php/file >/dev/null 2>&1

Итак, вы можете узнать больше о CRON:https://linuxman.co/linux-server/cron-a-nosedive-into-lazy-sysadmin/

Связанный контент