Мне нужно выполнить длительный процесс Laravel в фоновом режиме для использования API Stream Streaming. Эффективно команда CLI PHP-Artisan, которую мне нужно запустить, – это
nohup php artisan startStreaming > /dev/null 2>&1 &
Если я запустил это сам в командной строке, он отлично работает.
Идея заключается в том, что я могу щелкнуть по кнопке на веб-сайте, который запускает поток, выполняя давно запущенную команду artisan, которая запускает потоковое вещание (необходимо запустить в фоновом режиме, потому что соединение по потоку Twitter никогда не заканчивается). Прохождение через командную строку отлично работает.
Однако вызов команды программно не работает. Я попытался называть его молча через callSilent () из другой команды, а также попытаться использовать Symfony \ Component \ Process \ Process для запуска команды artisan или запустить сценарий оболочки, который выполняет указанную выше команду, но я не могу понять это ,
Обновление. Если я выхожу в очередь с командой, которая открывает соединение с потоком, это приводит к таймауту процесса для рабочего очереди
Мне действительно нужен способ выполнить указанную выше команду из PHP-класса / скрипта, но где PHP-скрипт не ждет завершения / выхода этой команды.
Помогите оценить