文档中心>弹性伸缩>定时任务>定时任务执行时间说明

定时任务执行时间说明

最近更新时间:2024-05-12 17:34:42

我的收藏

单次任务

单次任务只会在执行开始时间执行一次,因此不需要设置执行结束时间和重复方式。




重复任务

重复任务需要设置执行开始时间,执行结束时间和重复方式Recurrence参数。重复任务会在执行开始时间执行第一次,后续按照Recurrence参数的配置进行若干次重复,直至执行结束时间。Recurrence参数的取值为 Cron 表达式字符串。

Cron表达式介绍

Cron 是一种广泛应用于描述时间和日期信息的标准表达式,通常由5~7个字段组成。定时任务中的Recurrence参数限制为5个字段,由空格分开,结构为:分,小时,日期,月份,星期

字段说明

字段
允许值
允许的特殊字符
分(Minutes)
0 - 59的整数
, - * / 
小时(Hours)
0 - 23的整数
, - * / 
日期(DayofMonth)
1 - 31的整数(需要考虑当月天数)
,- * / 
月份(Month)
1 - 12的整数(JAN、FEB、MAR、APR、MAY、JUN、JUL、AUG、SEP、OCT、NOV、DEC)
, - * / 
星期(DayofWeek)
1 - 7的整数或者(SUN、MON、TUES、WED、THUR、FRI、SAT(1=MON,7=SUN))
, - * / 

特殊字符说明

每一个字段都使用数字,还可出现如下特殊字符,它们的含义是:
*:表示匹配任意值。假如在分字段使用*,即表示每分钟都将执行一次。
-:表示匹配范围。例如在分钟字段使用5-20,表示在5分到20分之间,每分钟执行一次 。
/:表示从起始时间开始执行,每隔固定时间执行一次。例如在分钟字段使用5/20,表示从5分开始,每隔20分钟执行一次,即25分、45分各执行一次。
,:表示列出枚举值。例如:在分钟字段使用5,20,表示在5分和20分各执行一次。

Cron表达式示例

表达式
解释
15 10 * * *
每天上午10:15执行一次
0/5 14,18 * * *
每天的14:00 - 14:55,18:00 - 18:55,每隔5分钟执行一次
15 10 ? * MON-FRI
每周周一至周五上午10:15执行一次
0 12 1/5 * *
每月1号开始,每隔5天后,在中午12:00执行一次

重复定时任务示例1:按天重复

设置执行开始时间为3月8号晚18点,结束时间为同年5月2号晚18点,每14天执行一次。
注意:
此处的每14天执行一次用于描述Cron表达式,从每月1号开始计算,每月1号、15号、29号(如有)执行一次,执行开始时间3月8号并不作为重复周期的开始时间。
此时重复方式对应的Cron表达式为0 18 */14 * *,含义为每月1号开始,每隔14天后,在18:00执行一次,后续的执行日期是:3月8号,3月15号,3月29号,4月1号,4月15号,4月29号,5月1号;执行时间均为18:00。3月8号为执行开始时间,执行第一次,后续的日期按照 Cron 表达式执行。




重复定时任务示例2:按月重复

设置执行开始时间为3月8号晚19点,结束时间为同年5月1号晚19点,每月第10天到第20天,每天执行一次。
此时重复方式对应的Cron表达式为0 19 10-20 * *,含义为每月10号到20号,在晚上19:00执行一次,后续的执行日期是:3月8号,3月10号~3月20号,4月10号~4月20号;执行时间均为19:00。3月8号为执行开始时间,执行第一次,后续的日期按照 Cron 表达式执行。




重复定时任务示例3:按周重复

设置执行开始时间为3月8号晚20点,结束时间为同年4月4号晚20点,每周一执行一次。
此时重复方式对应的 Cron 表达式为0 20 * * 1,含义为每周一晚上20:00执行一次,后续的执行日期是:3月8号,3月13号,3月20号,3月27号,4月3号;执行时间均为20:00。3月8号为执行开始时间,并不是周一,执行第一次,后续的日期按照 Cron 表达式在周一执行。