我无法解码以下CRON表达式中定义的间隔, 请详细解释。
@Scheduled(cron = "0 0/1 * 1/1 * ?")
我了解CRON序列的基本结构,但是我找不到0/1
或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}}。