因此,我们将在上午 7:00 至下午 5:00 之间每小时从 cron 运行该作业两次。所以 cron 条目类似于:00,30 7-17 * * *
这基本上意味着该作业每天最多运行 20 次。在存储过程中,剩余的执行次数是某些计算的一部分。所以:
At 7:00am, there are 20 executions remaining
At 7:30am, there are 19 executions remaining
At 8:00am, there are 18 executions remaining
At 8:30am, there are 17 executions remaining
等等。如何仅根据时间确定剩余的执行次数?意思是,我们不想在剩余执行次数的某个地方存储一些变量或计数器。而且,假设有一个执行被错过,也许是一些处理问题,那么好吧,它被错过了。
如果我们可以在代码中动态计算剩余的执行次数,那么它将自给自足,不需要维护等等,即使我们暂停 cron,当它再次启动时,它也只是计算并继续。
任何想法都很棒,因为我们还没有任何算法。
谢谢!
有多种计算方法。这是一个,通过生成执行日历并计算未来的执行日期: