Quartz 是现代复杂系统使用定时任务必用的框架之一了,今天我在 stackoverflow 上看到了一个提问比较多的回答,摘录翻译一下,分享给大家!
这个问题就是,如何通过 Quartz 的 Cron 表达式配置定时任务每 10 分钟执行一次!
这个问题,看似简单,但是很多人记不住 Cron 表达式的配置,我这里以 Quartz Scheduler 为例,配置一个 demo。Run Job Every 10 minutes starting NOW。
0 */10 * * * ?
这个表达式有点怪异,原本我们以为它在每小时的 60 分钟内,每 10 分钟执行一次。可以现实情况是,它从现在开始的第 10 分钟,然后每 10 分钟运行一次。
这也是 stackoverflow 上,为什么很多人提问的原因之一。
它的配置相当于下面这个 crontrigger 配置。
0 3,13,23,33,43,53 * * * ?
当然也可以通过 java 代码来实现,配置 SimpleTrigger。
SimpleTrigger trigger = new SimpleTrigger("myTrigger",
null,
new Date(),
null,
SimpleTrigger.REPEAT_INDEFINITELY,
10L * 60L * 1000L);
0 和 * 的用法是不一样的。
0 0/10 * 1/1 * ? *
0 1-59/10 * * * ?
参考资料
- Quartz Cron Expression: Run Job Every 10 minutes starting NOW (immediately)
: » Quartz Cron表达式:每10分钟执行一次任务
原创文章,作者:wdmbts,如若转载,请注明出处:https://blog.ytso.com/tech/java/252196.html