php上的单进程

php上的单进程,php,cron,Php,Cron,我需要生成一些图表和报告,但只有当我的数据库被修改时。因为生成报告所需的时间在2到4秒之间变化,而且报告的数量也不同,所以我想使用一个cron来检查数据库修改。问题是,我不希望在其他报表运行时开始生成另一个报表。换句话说,我不希望在前一个进程仍在运行时启动另一个进程。我怎样才能做到这一点 我的cron看起来像这样: */1 * * * * php /home/john/public_html/reportsGeneratorByCron.php 请看一看,它的工作原理类似于CRON,但允许您指

我需要生成一些图表和报告,但只有当我的数据库被修改时。因为生成报告所需的时间在2到4秒之间变化,而且报告的数量也不同,所以我想使用一个cron来检查数据库修改。问题是,我不希望在其他报表运行时开始生成另一个报表。换句话说,我不希望在前一个进程仍在运行时启动另一个进程。我怎样才能做到这一点

我的cron看起来像这样:

*/1 * * * * php /home/john/public_html/reportsGeneratorByCron.php
请看一看,它的工作原理类似于CRON,但允许您指定一个进程结束和另一个进程开始之间的时间,而不是像CRON一样指定两个进程开始之间的时间

请看一下该网站-有大量文档、示例和用例:


您可以在数据库或光盘上的某个文件中放置一些标志,您必须与其他进程一起检查这些标志是否已解锁。我将研究使用数据库触发器将报告请求添加到队列中,然后让一个进程从队列中读取报告请求并对其进行处理。这听起来不像是cron的工作。看看这种方法吧
*/1 * * * * pgrep reportsGeneratorByCron > /dev/null || php /home/john/public_html/reportsGeneratorByCron.php