実行するジョブのリストをデータベースに照会し、データベースで見つかったもの (基本的にはプロセス キュー) に基づいて他の PHP スクリプトを起動する PHP スクリプトがあります。
キュー ランナー スクリプトが実行するスクリプトの中には、実行が完了するまでに 30 秒程度かかるものがあります (ビデオの変換、画像のサイズ変更など)。
問題は、キュー ランナー スクリプトの shell_exec() が処理スクリプトを呼び出しますが、スクリプトが終了するのを待たず、キューが完了しないことです。
キュー ランナー スクリプト:
#!/usr/bin/php
<?php
// Loop through database and find jobs to be done
shell_exec("nohup $command > /dev/null 2> /dev/null & echo $! &");
?>
コマンド ラインからジョブ スクリプトを直接実行すると、PDF が作成されます。
これを修正する方法についてのアイデアはありますか? または、プロセス キューを実行するためのより良い方法はありますか?