我有一个按小时计划执行php文件的cronjob。它通常没有问题,但有时会随机跳过几个小时。今天早上它做到了这一点:
[03-Aug-2015 00:00:02 America/Denver] runHourly triggered
[03-Aug-2015 01:00:03 America/Denver] runHourly triggered
[03-Aug-2015 02:00:02 America/Denver] runHourly triggered
[03-Aug-2015 05:02:25 America/Denver] runHourly triggered
它之前从未跳过3个小时......
我无权检查任何cronjob日志,因为我正在使用我的共享主机面板来设置作业。
我已经为这个问题输入了一张支持票,但为了确保它每小时运行一次,我还能做些什么呢?有没有替代cronjobs?会导致这种情况的原因是什么?
答案 0 :(得分:0)
我以前也遇到过这类问题。最好的解决方案是,做另一个cron工作。
1)。当您每小时执行cron作业时,请将其设置为在表中插入一行。 (制作一个监控cron的表格)
2)。做另一个cron工作。在原始cron作业10分钟后运行它。因此,假设您的主要工作在每小时开始运行,则使此第二个cron作业在+10
分钟运行。因此,cron作业1在00:00运行,而cron作业2在00:10运行。第二个cron作业检查原始cron作业应该进行的行,如果索引不在那里,再次运行原始文件,如果存在,则删除该记录(此记录现在变得无用)