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

31次阅读

共计 392 个字符,预计需要花费 1 分钟才能阅读完成。

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

一、问题点

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

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

 最近 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 调度器,在具体的时间点执行一次,或者在具体的时间点执行,并且以指定的间隔重复执行若干次。

正文完
 0