nohup из php-скрипта, подаваемого из apache для длительного процесса


Правильно ли использовать exec для запуска nohup из php-скрипта, если необходимо выполнить длительное действие, но веб-запрос должен вернуться сразу? Я хочу создать другой процесс из php-скрипта, который запускается после выполнения запроса.

Пример:

exec ('nohup php long_running_script.php');

//Need this to return happen right away without waiting for long_running_script.php
echo json_encode(array('success' => TRUE));
 2
Author: Chris Muench, 2015-11-21

1 answers

Если на хостинге доступна команда в , я предпочитаю использовать:

putenv( 'SHELL=/bin/sh' );
print `echo /usr/bin/php -q full_path_to_script.php | /usr/bin/at now 2>&1`;

Я бы проверил путь каждой команды, чтобы убедиться, что все выполнено правильно:

echo exec( 'which at' );
 2
Author: Mat, 2015-11-21 12:25:37