在Quartz中每50秒Cron表达一次

Yos*_*arr 9 java quartz-scheduler quartz.net

我使用Quartz运行我的作业,每隔50秒使用一个cron表达式:

Cron_Expression = "0/50 * * * * ?"
Run Code Online (Sandbox Code Playgroud)

发生的事情是我的工作在几秒钟内运行:50,60,50,60 ......,而不是每50秒!并且不会在第二个"0"运行.

从0开始,每50秒正确的cron表达式是什么?

dar*_*nmc 9

'/'语法指定期间的增量而不是重复间隔.不可否认,这是一个微妙而混乱的区别.

在这种情况下,1分钟期间只有一个可用的增量(50秒).第一个数字指定要开始的值,在本例中为0.在'/'之前指定'*'相当于指定0.因此作业将仅在分钟(0和60可互换)和50秒时触发.

如果周期可以除以多个增量,例如0/10,那么它将在每个时间点火,例如10,20,30等秒.

如果你想有一个工作在固定时间间隔触发,那么你可以使用一个石英SimpleTrigger与repeatInterval指定.