函數定時觸發器Cron表達式規則
更新時間 2025-01-13 16:37:13
最近更新時間: 2025-01-13 16:37:13
分享文章
本章介紹函數工作流定時觸發器Cron表達式的規則。
函數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分鐘執行一次 |