定時任務是一種預設任務,可以在指定時間執行指定伸縮規則,實現計算資源的自動擴張或收縮,滿足業務需求的同時又能控製成本。
支援的主要配置項
定時任務支援的主要配置項如下所示:
配置項 | 說明 |
執行時間 | 表示定時任務的觸發時間。
重要 請勿填寫自建立或修改當天起90日後的時間,否則定時任務無法生效。 |
伸縮組 | 表示設定定時任務功能的目標伸縮組(已建立的伸縮組)。更多資訊,請參見伸縮組概述。 |
伸縮方式 |
|
伸縮規則(簡單規則) | 如果伸縮方式為選擇已有伸縮規則時,才會出現該配置項,請您選擇已建立的伸縮規則(簡單規則)。更多資訊,請參見配置伸縮規則或CreateScalingRule。 |
重試到期時間(秒) | 表示在時間間隔內重新執行定時任務,避免因為單次執行伸縮規則失敗影響定時任務的結果。如果同一分鐘記憶體在多個待執行的定時任務,Auto Scaling會執行最新建立的定時任務。 |
週期 | 表示定時任務重複執行的規則。您可以選擇不設定、按天、按星期、按月的方式重複執行定時任務,如果要求多樣,也可以使用Cron運算式。Cron運算式的詳細介紹,請參見Cron運算式。 說明 修改定時任務的週期方式時,不支援修改為不設定選項。 |
Cron運算式
在Auto Scaling控制台配置定時任務的週期參數時,您可以選擇Cron運算式來進行設定。
Cron運算式是一個具有時間含義的字串,每個具有時間含義的字元叫做域,域之間用空格隔開。Auto Scaling的定時任務支援5個域的Cron運算式,格式為X X X X X
,X
是一個域的預留位置。Cron運算式中的每個域依次表示分鐘、小時、天、月和星期,每個域可以是確定的取值,也可以是具有邏輯意義的特殊字元。
定時任務配置Cron運算式時,需要注意以下內容:
Cron運算式採用UTC+0時區,在配置Cron運算式時,您需要把本地時間換算成在UTC+0時區的時間。例如,中國的時區是UTC+8,如果您計劃在中國時區(例如每天20:00)執行任務,需要將計劃執行時間減去8小時,設定的Cron運算式應為
0 12 * * ?
。單個Cron定時任務五分鐘限制執行一次。
確保Cron運算式第一次執行的時間小於定時任務的重複結束時間,否則會提示參數錯誤。
域 | 是否必需 | 取值範圍 | 特殊字元 |
分鐘 | 是 | 0~59 | , - / * |
小時 | 是 | 0~23 | , - / * |
日 | 是 | 1~31 | , - / * ? L W |
月 | 是 | 1~12 | , - / * |
星期 | 是 | 1~7,星期日取值為7 | , - * ? / L # |
特殊字元 | 含義 | 樣本 |
| 域內的所有可能值。 | 在月域中, |
| 列出枚舉值。 | 在分鐘域中, |
| 表示範圍值。 | 在分鐘域中, |
| 指定數值的增量。 | 在分鐘域中, |
| 不指定值,僅日期域和星期域支援該字元。 說明 當日期或星期域其中之一被指定了值以後,為了避免計算衝突,需要將另一個域的值設為 | 在日期域中, |
| 單詞Last的首字母,表示最後一天,僅日期域和星期域支援該字元。 說明 指定 |
|
| 除周末以外的有效工作日,在離指定日期的最近的有效工作日觸發事件。 | 在日期域中 |
| 指定每個月第幾個星期幾,僅星期域支援該字元。取值範圍:1~5。 | 在星期域中, |
表 4. 取值樣本
下表以UTC+0時區為例,說明不同的Cron運算式樣本代表的含義。在設定Cron運算式時,請注意將本地時間換算成在UTC+0時區的時間。
樣本 | 說明 |
| 每天10:15執行任務 |
| 每天9:15執行任務 |
| 每天12:00執行任務 |
| 每天10:00、14:00以及16:00執行任務 |
| 每月15日10:15執行任務 |
| 每月最後一日10:15執行任務 |
| 每月最後一個星期六10:15執行任務 |
| 每月第三個星期六10:15執行任務 |
如何配置定時任務
配置定時任務的相關文檔如下所示:
控制台文檔 | 操作項 | API文檔 |
建立定時任務 | ||
修改定時任務 | ||
啟用定時任務 | 無 | |
停用定時任務 | 無 | |
刪除定時任務 |
建立定時任務完成後,您也可以調用DescribeScheduledTasks介面查看定時任務的詳細資料。