

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 排程表達式參考
<a name="scheduled-queries-schedule-reference"></a>

使用這些參考表來建構排程查詢的排程表達式。所有時間均以 UTC 表示。

**Cron 表達式語法**

格式：`cron(minute hour day-of-month month day-of-week year)`


| 使用案例 | Cron 表達式 | Description | 使用時機 | 
| --- | --- | --- | --- | 
| 每日排程 | cron(0 9 \$1 \$1 ? \$1) | UTC 每天上午 9：00 | 每日報告 | 
|  | cron(0 \$1/6 \$1 \$1 ? \$1) | 每 6 小時 (00：00、06：00、12：00、18：00 UTC) | 頻繁監控 | 
|  | cron(30 2 \$1 \$1 ? \$1) | UTC 每天上午 2：30 | 離峰分析 | 
| 營業時間 | cron(0 9-17 ? \$1 MON-FRI \$1) | 週一至週五 UTC，上午 9 點至下午 5 點，每小時 | 業務監控 | 
|  | cron(0 18 ? \$1 MON-FRI \$1) | UTC 的工作日下午 6：00 | 工作日結束 | 
|  | cron(0 8,12,17 ? \$1 MON-FRI \$1) | UTC 工作日上午 8 點、中午和下午 5 點 | 關鍵營業時間 | 
| 每週排程 | cron(0 12 ? \$1 SUN \$1) | 每週日中午 UTC | 每週摘要 | 
|  | cron(0 9 ? \$1 MON \$1) | UTC 每週一上午 9：00 | 週開始報告 | 
|  | cron(0 23 ? \$1 FRI \$1) | 每週五 11：00 PM UTC | 週結束清除 | 
| 每月排程 | cron(0 0 1 \$1 ? \$1) | 每月第一天午夜 UTC | 每月報告 | 
|  | cron(0 9 L \$1 ? \$1) | 每月最後一天 UTC 上午 9：00 | 月末處理 | 
|  | cron(0 10 1 1,4,7,10 ? \$1) | 每季第一天 UTC 上午 10：00 | 每季分析 | 
| 高頻率 | cron(\$1/15 \$1 \$1 \$1 ? \$1) | 每 15 分鐘 | 即時監控 | 
|  | cron(0,30 \$1 \$1 \$1 ? \$1) | 每 30 分鐘 （在 ：00 和 ：30) | 頻繁檢查 | 
|  | cron(0 \$1/2 \$1 \$1 ? \$1) | 每 2 小時 | 定期間隔 | 
| 特殊案例 | cron(30 8 1 1 ? \$1) | 1 月 1 日上午 8：30 UTC | 年度報告 | 
|  | cron(0 6 \$1 \$1 SAT,SUN \$1) | UTC 上午 6：00 的週末 | 週末處理 | 
|  | cron(0 0 ? \$1 MON\$11 \$1) | 每月的第一個星期一午夜 UTC | 每月規劃 | 

**Cron 表達式欄位參考**


| 欄位 | 值 | 萬用字元 | 範例 | 
| --- | --- | --- | --- | 
| 分鐘 （第 1 個） | 0-59 | \$1 , - / | 0 （小時頂端）、 \$1/15 （每 15 分鐘）、 0,30（每小時兩次） | 
| 小時 （第 2 個） | 0-23 | \$1 , - / | 9 （上午 9 點）、 \$1/2 （每 2 小時）、 9-17（上班時間） | 
| Day-of-month（第 3 天） | 1-31、L、W | \$1 , - / ? | 1 （第一天）、 L （最後一天）、 ?（使用day-of-week時） | 
| 月 （第 4 個） | 1-12 或 JAN-DEC | \$1 , - / | 1 (1 月）JAN、、 1,4,7,10（每季） | 
| Day-of-week（第 5 天） | 1-7 或 SUN-SAT | \$1 , - / ? \$1 L | MON-FRI （平日）SUN、、 MON\$11（第一個星期一） | 
| 年 （第 6 個） | 1970-2199 | \$1 , - / | \$1 （每年）、 2024 （特定年份）、 2024-2026（範圍） | 

**萬用字元和特殊表達式**

**`*` (星號)**  
符合 欄位中的所有值。範例：`*`在小時欄位中表示每小時。

**`?` （問號）**  
沒有特定值。在指定其他 時，以day-of-month或day-of-week使用 。範例：`?`在day-of-month時`MON-FRI`，在每月day-of-week。

**`-` (破折號)**  
值的範圍。範例： `MON-FRI` （週一至週五）、 `9-17`（上午 9 點至下午 5 點）。

**`,` （逗號）**  
多個特定值。範例： `MON,WED,FRI` （週一、週三、週五）、 `8,12,17`（上午 8 點、中午、下午 5 點）。

**`/` （斜線）**  
步驟值或增量。範例：`0/15`以分鐘為單位表示從分鐘 0 (0、15、30、45) 開始每 15 分鐘一次。以小時`*/2`為單位表示每 2 小時一次。

**`L` （最後一個）**  
每月的最後一天或工作日的最後一次出現。範例：以月中的`L`日表示月中的最後一天。 `FRIL`表示月中的最後一個星期五。 day-of-month 

**`W` （工作日）**  
最近的工作日。範例： `15W` 表示最接近當月 15 日的工作日。

**`#` （第 n 次出現）**  
每月第三次出現工作日。範例： `MON#1` 表示每月的第一個星期一， `FRI#2`表示每月的第二個星期五。

**常見模式和最佳實務**
+ **對於商業應用程式：**使用 `MON-FRI`和 上班時間 （例如 `9-17`)，以避免在週末或下班時間執行查詢。
+ **對於高頻率監控：**使用增量，例如 `*/15`（每 15 分鐘），但請注意查詢並行限制。
+ **為了提高資源效率：**使用 `2-6` UTC 等早間時間，在離峰時間排程資源密集型查詢。
+ **對於每月報告：**將 `L` 用於月份的最後一天或特定日期，例如`1`第一天，以確保一致的時間。