Quartz框架中CronTigger周期性调度问题

Quartz框架中CronTigger周期性调度问题

一、问题点

​ quartz定时任务设置每32秒执行一次,如果CronTigger调度器,cron表达式可能会写成这样:0/32 * * * * ? ,

那么问题来了,调度执行结果为:

1
2
3
4
5
6
最近5次运行时间:
2019/9/27 15:12:32
2019/9/27 15:13:00
2019/9/27 15:13:32
2019/9/27 15:14:00
2019/9/27 15:14:32

从结果将会发现,循环周期为32,28秒。如果做分钟的间隔周期也会是一样,不满足需求,特别是有时候超过60的时候,不能被60整除的循环都会出现此问题。如果需求要求可以动态更改调度时间,就更不好做了。Cron表达式对这种方式不是很友好。

二、解决方法

​ 这个时候,我们可以选择使用Simple Trigger调度器,在具体的时间点执行一次,或者在具体的时间点执行,并且以指定的间隔重复执行若干次。