函数Cron表达式下支持如下几种配置方式。
- @every格式
@every NUnit,其中N表示一个正整数,Unit可以为ns, µs, ms, s, m, h,表示每隔N个Unit时间触发一次函数如下表所示。
表达式示例
表达式 | 含义 |
---|---|
@every 30m | 每隔30分钟触发一次函数 |
@every 1.5h | 每隔1.5小时触发一次函数 |
@every 2h30m | 每隔2小时30分钟触发一次函数 |
- 标准cron表达式
cron表达式格式要求“秒 分 时 日 月 周(可选)”,每个字段间以空格隔开,其中各字段说明如下表所示。
cron表达式字段说明
字段 | 说明 | 取值范围 | 允许的特殊字符 |
---|---|---|---|
秒 | 必选 | 0-59 | , - * / |
分钟 | 必选 | 0-59 | , - * / |
时 | 必选 | 0-23 | , - * / |
日(Day of month) | 必选 | 1-31 | , - * ? / |
月 | 必选 | 1-12或者Jan-Dec(英文不区分大小写)如表3-29所示。 | , - * / |
星期几(Day of week) | 可选 | 0-6或者Sun-Sat(0表示星期天,英文不区分大小写),如表3-30所示。 | , - * ? / |
月份字段取值说明
月份 | 数字 | 英文简写 |
---|---|---|
1月 | 1 | Jan |
2月 | 2 | Feb |
3月 | 3 | Mar |
4月 | 4 | Apr |
5月 | 5 | May |
6月 | 6 | Jun |
7月 | 7 | Jul |
8月 | 8 | Aug |
9月 | 9 | Sep |
10月 | 10 | Oct |
11月 | 11 | Nov |
12月 | 12 | Dec |
星期字段取值说明
星期 | 数字 | 英文简写 |
---|---|---|
星期一 | 1 | Mon |
星期二 | 2 | Tue |
星期三 | 3 | Wed |
星期四 | 4 | Thu |
星期五 | 5 | Fri |
星期六 | 6 | Sat |
星期日 | 0 | Sun |
cron表达式字段特殊字符说明如下表所示。
特殊字符说明
特殊字符 | 含义 | 说明 |
---|---|---|
* | 表示该字段中的所有值 | 在“分钟”字段中表示每一分钟都执行。 |
, | 指定多个值(可以不连续) | 在“月”字段中指定“Jan,Apr,Jul,Oct”或者“1,4,7,10”,表示1月,4月,7月和10月,在“星期几”字段中指定“Sat,Sun”或者“6,0”表示周六,周日。 |
- | 指定一个范围 | 在“分钟”字段中使用0-3,表示从0分到3分 |
? | 指定一个或另一个 | 仅“日”和“星期几”字段可以指定。例如,如果指定了一个特定的日期,但你不关心该日期对应星期几,那么“星期几”字段就可以使用该特殊字符。 |
/ | 表示起步和步幅,n/m表示从n开始,每次增加m | 在“分钟”字段1/3表示在满足其它字段情况下的绝对时间1分(例如00:01:00)开始,每隔3分钟触发一次。 |
cron表达式配置示例如下表所示。
cron表达式配置示例
配置示例 | 示例说明 |
---|---|
0 15 2 * * ? | 每天凌晨02:15:00执行 |
0 30 8 ? * Mon-Fri | 周一到周五上午08:30:00执行 |
0 45 7 1-3 * ? | 每月1, 2, 3号上午07:45:00执行 |
0 0/3 * ? * Mon,Wed,Fri,Sun | 周一、三、五、日,每隔三分钟执行一次 |
0 0/3 9-18 ? * Mon-Fri | 周一到周五09:00-18:00之间每隔三分钟执行一次 |
0 0/30 * ? * | 每30分钟执行一次 |