9

我每 50 秒使用带有 cron 表达式的 Quartz 运行我的作业:

Cron_Expression = "0/50 * * * * ?"

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

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

4

1 回答 1

9

'/' 语法指定期间的增量,而不是重复间隔。诚然,这是一个微妙而令人困惑的差异。

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

如果可以将周期除以多个增量,例如 0/10,那么它将在每个这些时间触发,例如在 10、20、30 等秒。

如果您希望作业定期触发,那么您可以使用指定的SimpleTriggerQuartz repeatInterval

于 2013-03-18T14:07:48.683 回答