php cronjob interruption

29 浏览
0 Comments

php cronjob interruption

我在PHP中有一个cronjob,用于计算几个业务规则(例如净收入、总收入、预计收入等),使用标准偏差和其他数学算法。

这个cronjob通过exec调用3个PHP脚本的多个cron调用。

对于每个调用,我在后台启动一个进程,并告诉系统作业x已开始。例如:

这是我的逻辑

开始
主cron开始-消息
cron子1开始-消息
运行cron子1
cron子1结束-消息
等待cron子1停止
处理事务
cron子2开始-消息
后台运行cron子2 //当该作业结束时,会自动发送消息
cron子3开始-消息
后台运行cron子3 //当该作业结束时,会自动发送消息
主cron结束-消息
结束

我需要解决的问题是

如果有人手动运行作业并取消它(ctrl+c),或者

在cron中发生了错误(致命错误或无法连接到数据库)

或其他任何情况(例如内存不足)

我想停止cronjob并告诉发生了什么以及何时停止,这样我可以从停止的地方重新开始。

这可能吗?谢谢。

0