6
我有一個PHP腳本,用於查詢數據庫中的工作列表,並根據它在數據庫中找到的內容(基本上是一個進程隊列)從其他PHP腳本中觸發。PHP shell_exec等待腳本完成?
隊列運行腳本執行的一些腳本可能需要30秒左右才能完成運行(生成PDF,調整圖像大小等)。
問題是隊列運行腳本中的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。
有關如何解決此問題的任何想法?或者更好的方式來運行一個流程隊列?
請出示一些代碼 –