6
私は、実行するジョブのリストをデータベースに照会し、データベース内のもの(基本的にはプロセス・キュー)に基づいて他のPHPスクリプトを起動するPHPスクリプトを用意しています。PHP shell_execスクリプトが終了するのを待ちますか?
キューランナースクリプトが実行するスクリプトの中には、実行を終了するのに(PDFの生成、イメージのサイズ変更など)30秒かかる場合があります。
問題は、キューランナースクリプト内のshell_exec()
が処理スクリプトを呼び出しても、処理が完了するのを待たずにキューが完了しないということです。
キューランナースクリプト:
#!/usr/bin/php
<?php
// Loop through database and find jobs to be done
shell_exec(sprintf("/root/scripts/%s.php", $row['jobName']));
?>
ジョブスクリプト:
#!/usr/bin/php
<?php
shell_exec("/usr/bin/htmldoc -t pdf --webpage test.html > test.pdf");
// Update database to mark job as completed
?>
は、コマンドラインから直接ジョブスクリプトを実行するには、作品とPDFが作成されます。
これを修正する方法についてのご意見はありますか?または、プロセスキューを実行するためのより良い方法は?
は、いくつかのコードを表示してください –