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。
有关如何解决此问题的任何想法?或者更好的方式来运行一个流程队列?
请出示一些代码 –