Есть ли эквивалент forever.js для PHP для непрерывного запуска моих скриптов?

Я иногда использую forever.js для быстрого и грязного развертывания приложений типа CLI Node.js в производственных средах, где я не хочу, чтобы полный < развертывание href= "http://supervisord.org/" > supervisord.

Мне было интересно, был ли эквивалент для PHP? На данный момент у нас есть система обработки очереди, которая получает сообщения от SQS и обрабатывает их синхронно в базу данных (это не может быть сделано async, поскольку это вызывает все виды от неприятных проблем с блокировкой строк в этом конкретном случае использования.) В настоящий момент он работает с минуты на минуту, используя cron, но он часто заканчивается раньше, и я хочу, чтобы он снова начал работать. Я не могу запускать несколько процессов за один раз.

Любые идеи * nix command/software/ bash приветствуются.

Ответ 1

Просто используйте forever с вашим PHP скрипт (используйте аргумент -c, чтобы навсегда использовать php):

$ cat test.php
<?php
sleep(3);
print("foobar\n");
exit;
?>
$ forever -c php test.php
foobar
error: Forever detected script was killed by signal: null
error: Forever restarting script for 1 time
foobar
error: Forever detected script was killed by signal: null
error: Forever restarting script for 2 time
...

Ответ 2

Я только что открыл этот инструмент supervisord, и он отлично работает. Я использовал этот трехочковый учебник, чтобы запустить его за считанные минуты!

Если я правильно помню навсегда script не перезагружать при перезагрузке сервера?