弹性伸缩 定时任务执行时间说明

这篇说说腾讯云定时任务的单次任务与重复任务配置,重点说明重复任务基于Cron表达式的执行规则,并通过按天、按月、按周示例展示具体用法。 重复任务:需设置执行开始/结束时间及Cron表达式,首次执行后按表达式重复至结束时间。 Cron表达式:5字段结构(分、小时、日期、月份、星期),支持*、-、/、,等特殊字符。 示例:按天重复用0 18 */14 * *,按月用0 19 10-20 * *,按周用0 20 * * 1。

相关产品
弹性伸缩 产品页,含版本规格、价格与购买入口。

一、单次任务

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

二、重复任务

重复任务需要设置执行开始时间,执行结束时间和重复方式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号,在晚上20: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 表达式在周一执行。

赞 (0)
上一篇 4天前
下一篇 4天前