这个CRON表达式的间隔是多少?

时间:2018-11-13 12:31:40

标签: java cron

我无法解码以下CRON表达式中定义的间隔, 请详细解释。

@Scheduled(cron = "0 0/1 * 1/1 * ?")

我了解CRON序列的基本结构,但是我找不到0/11/1是什么意思?

1 个答案:

答案 0 :(得分:1)

在cron表达式中,各个字段都有一个严格的范围,允许输入值:

field          allowed values
-----          --------------
minute         0-59
hour           0-23
day of month   1-31
month          1-12 (or names, see below)
day of week    0-7 (0 or 7 is Sunday, or use names)

一个字段可能包含一个*),它始终代表<first>-<last>。另一种可能性是数字范围。范围是两个数字,两个数字之间用<连字符>(-)隔开。指定的范围包括端值。例如,8-11匹配所有数字8,9,10,11

结合范围,您可以有一个 step值,记为/<number>,它告诉您在范围中应跳过多少个数字。例如:2-7/2允许数字2,4,6

在某些cron系统中,符号<start>/<number><start>-<last>/<number>的简写。 Quartz Job Scheduling Library这样的例子:

  

/字符可用于指定值的增量。例如,如果您在分钟字段中输入0/15,则表示每小时的第15分钟,从零分钟开始。如果您在“分钟”字段中使用3/20,则表示每小时的第20分钟,从第三分钟开始 –换句话说,它与指定3,23,43相同在分钟字段中。请注意,/35并不意味着every 35 minutes的微妙之处-它表示每小时的第35分钟,从零分钟开始。换句话说,与指定{{ 1}}。

     

来源:Quartz Job Scheduling Library Manual