2016-02-19 125 views
0

我有一个要求,其中我写了一个实用程序,要求cron触发器立即触发,然后在30或40分钟的定期间隔后触发。现在我的表情就像这样0 0/40 * * *?但在开始申请40分钟后开始触发。在java中实现上述场景的表达式或编程方式应该是什么。cron触发器立即启动,然后在时间间隔后运行

回答

1

Cron没有每40分钟运行一次作业的功能。实际上,*/40 * * * *, 将在每小时的第40分钟,然后在每小时的第59分钟结束时运行该工作,依此类推。因此,工作间隔时间为40分钟,然后20分钟,等等。原因是60分不到40.

40 * * * *只会在每小时40分钟(每小时一次)运行该作业。

*/30 * * * *,另一方面确实会运行,每30分钟的工作,因为60模30 = 0

如果你真的想每40分钟运行一次的工作,你可能需要使用一些更高级的调度,如fcronhttp://fcron.free.fr/)。该调度程序真正支持该功能和其他一些很酷的功能。

回答有关立即触发作业的问题,那么我建议在下一分钟只编写作业,并在脚本内维护一个计数器,并允许脚本只运行一次。脚本执行后,它可以智能地从cron中删除它自己。

+0

对这项工作进行编程对我来说确实有窍门。 – dexterousashish

相关问题