全部產品
Search
文件中心

:定時任務概述

更新時間:Jun 30, 2024

定時任務是一種預設任務,可以在指定時間執行指定伸縮規則,實現計算資源的自動擴張或收縮,滿足業務需求的同時又能控製成本。

支援的主要配置項

定時任務支援的主要配置項如下所示:

配置項

說明

執行時間

表示定時任務的觸發時間。

  • 如果未設定週期,則按指定的日期和時間執行一次。

  • 如果設定了週期,則該屬性指定的時間點預設為週期性任務的執行時間點。

重要

請勿填寫自建立或修改當天起90日後的時間,否則定時任務無法生效。

伸縮組

表示設定定時任務功能的目標伸縮組(已建立的伸縮組)。更多資訊,請參見伸縮組概述

伸縮方式

  • 選擇已有伸縮規則:您可以選擇已有的伸縮規則,定時任務僅支援簡單規則。更多資訊,請參見伸縮規則概述

  • 伸縮組內執行個體數量設定:您可以直接指定伸縮組的最大執行個體數、最小執行個體數或期望執行個體數,新指定的數值會覆蓋伸縮組原來的設定,並在指定時間立即生效。

    說明
    • 如果建立伸縮組時未開啟期望執行個體數功能,則只能設定伸縮組的最大執行個體數和最小執行個體數。

    • 如果建立伸縮組時開啟了期望執行個體數功能,則設定最大執行個體數和最小執行個體數後,必須同時設定期望執行個體數,否則會導致伸縮活動被拒絕。

伸縮規則(簡單規則)

如果伸縮方式為選擇已有伸縮規則時,才會出現該配置項,請您選擇已建立的伸縮規則(簡單規則)。更多資訊,請參見配置伸縮規則CreateScalingRule

重試到期時間(秒)

表示在時間間隔內重新執行定時任務,避免因為單次執行伸縮規則失敗影響定時任務的結果。如果同一分鐘記憶體在多個待執行的定時任務,Auto Scaling會執行最新建立的定時任務。

週期

表示定時任務重複執行的規則。您可以選擇不設定、按天、按星期、按月的方式重複執行定時任務,如果要求多樣,也可以使用Cron運算式。Cron運算式的詳細介紹,請參見Cron運算式

說明

修改定時任務的週期方式時,不支援修改為不設定選項。

Cron運算式

在Auto Scaling控制台配置定時任務的週期參數時,您可以選擇Cron運算式來進行設定。

Cron運算式是一個具有時間含義的字串,每個具有時間含義的字元叫做域,域之間用空格隔開。Auto Scaling的定時任務支援5個域的Cron運算式,格式為X X X X XX是一個域的預留位置。Cron運算式中的每個域依次表示分鐘、小時、天、月和星期,每個域可以是確定的取值,也可以是具有邏輯意義的特殊字元。

定時任務配置Cron運算式時,需要注意以下內容:

  • Cron運算式採用UTC+0時區,在配置Cron運算式時,您需要把本地時間換算成在UTC+0時區的時間。例如,中國的時區是UTC+8,如果您計劃在中國時區(例如每天20:00)執行任務,需要將計劃執行時間減去8小時,設定的Cron運算式應為0 12 * * ?

  • 單個Cron定時任務五分鐘限制執行一次。

  • 確保Cron運算式第一次執行的時間小於定時任務的重複結束時間,否則會提示參數錯誤。

表 1. 域取值

是否必需

取值範圍

特殊字元

分鐘

0~59

, - / *

小時

0~23

, - / *

1~31

, - / * ? L W

1~12

, - / *

星期

1~7,星期日取值為7

, - * ? / L #

表 2. 特殊字元

特殊字元

含義

樣本

*

域內的所有可能值。

在月域中,*表示每個月;在星期域中,*表示星期的每一天。

,

列出枚舉值。

在分鐘域中,5,20表示第5分鐘和第20分鐘。

-

表示範圍值。

在分鐘域中,5-20表示從第5分鐘到第20分鐘之間的每一分鐘。

/

指定數值的增量。

在分鐘域中,0/15表示從第0分鐘開始的每15分鐘,3/20表示從第3分鐘開始的每20分鐘。

?

不指定值,僅日期域和星期域支援該字元。

說明

當日期或星期域其中之一被指定了值以後,為了避免計算衝突,需要將另一個域的值設為?

在日期域中,?表示不指定具體某日期。在星期域中,?表示不指定具體某星期幾。例如,以UTC+0時區為例,15 10 15 * ?表示每月15日上午10:15執行任務,無論第15日是星期幾。

L

單詞Last的首字母,表示最後一天,僅日期域和星期域支援該字元。

說明

指定L字元時,避免指定列表或者範圍,否則,會導致邏輯問題。

  • 在日期域中,L表示某個月的最後一天。在星期域中,L表示一個星期的最後一天。

  • 如果在L前有具體的內容,例如,在星期域中的6L表示這個月的最後一個星期六。

W

除周末以外的有效工作日,在離指定日期的最近的有效工作日觸發事件。W字元尋找最近有效工作日時不會跨過當前月份,連用字元LW時表示為指定月份的最後一個工作日。

在日期域中5W,如果5日是星期六,則將在最近的工作日星期五,即4日觸發。如果5日是星期天,則將在最近的工作日星期一,即6日觸發;如果5日在星期一到星期五中的一天,則就在5日觸發。

#

指定每個月第幾個星期幾,僅星期域支援該字元。取值範圍:1~5。

在星期域中,4#2表示某月的第二個星期四。

表 4. 取值樣本

下表以UTC+0時區為例,說明不同的Cron運算式樣本代表的含義。在設定Cron運算式時,請注意將本地時間換算成在UTC+0時區的時間。

樣本

說明

15 10 ? * *

每天10:15執行任務

15 9 * * *

每天9:15執行任務

0 12 * * ?

每天12:00執行任務

0 10,14,16 * * ?

每天10:00、14:00以及16:00執行任務

15 10 15 * ?

每月15日10:15執行任務

15 10 L * ?

每月最後一日10:15執行任務

15 10 ? * 6L

每月最後一個星期六10:15執行任務

15 10 ? * 6#3

每月第三個星期六10:15執行任務

如何配置定時任務

配置定時任務的相關文檔如下所示:

控制台文檔

操作項

API文檔

配置定時任務

建立定時任務

CreateScheduledTask

修改定時任務

ModifyScheduledTask

啟用定時任務

停用定時任務

刪除定時任務

DeleteScheduledTask

說明

建立定時任務完成後,您也可以調用DescribeScheduledTasks介面查看定時任務的詳細資料。