использование cron для запуска php-скрипта непрерывных процессов - PullRequest
1 голос
/ 10 декабря 2011

Я создал cronjob, который вызывает php-скрипт каждые 5 минут.

Этот PHP-скрипт должен запускать несколько других PHP CLI-скриптов и поддерживать их работу в фоновом режиме, даже когда cron-скрипт завершается.

В настоящее время я создаю эти подпроцессы с помощью следующей строки кода:

if (!$pid = shell_exec("nohup /var/[..]/cake.php test doSomething > /dev/null 2>&1 & echo $!")) return false;  

Когда я вызываю «motherscript» через командную строку, все работает отлично. Но кажется, что подпроцессы, запускаемые приведенной выше строкой кода, завершаются, когда cron-job останавливается.

Так как порождать эти cake.php test doSomething сценарии и поддерживать дочерний процесс под предопределенным пользователем в crontab?

1 Ответ

3 голосов
/ 10 декабря 2011

Это имеет смысл, вам нужно сказать, чтобы дочерние PHP-скрипты НЕ заканчивались, когда его родительские остановки прекращаются.

ignore_user_abort(true);

Добавьте указанную выше строку в дочерние PHP-скрипты.Должен сделать это

...