全部產品
Search
文件中心

DataWorks:情境:夏令時切換對調度任務啟動並執行影響

更新時間:Jun 19, 2024

本文為您介紹在進入和退出夏令時的時候,對調度任務執行個體產生和定時時間的影響。若您的工作空間所在地區施行夏令時,您可通過本文瞭解DataWorks對於進入和退出夏令時的相關處理策略。

背景資訊

DataWorks可保障在進入和退出夏令時當天,任務能夠正確運行。以美國西部時間的小時任務為例,施行夏令時的地區,進入和退出夏令時當天處理邏輯如下:
  • 進入夏令時進入夏令時
    • 執行個體個數02:00為夏令時的開始時間,時鐘會撥快一小時,即將02:00撥至03:00,因此02:00不會產生執行個體,小時調度任務在夏令時當天會產生23個執行個體。
    • 執行個體定時時間:因夏令時開始,導致時間位移,部分任務的定時已耗用時間會被提前。例如,原小時任務第四個周期的定時時間本該為04:00,進入夏令時當天,小時任務第四個執行個體的定時時間將變為05:00
    重要
    • 進入夏令時當天的日、周、月調度節點,如果設定的定時已耗用時間正好是被跳過的時間段,該任務不會運行,該執行個體將空跑
    • 實際當天03:00往前位移10分鐘的結果會變為01:50
  • 退出夏令時退出夏令時
    執行個體個數:小時調度任務會產生24個執行個體(實際會產生兩個定時時間02:00的執行個體,但只保留第二個定時時間02:00的執行個體)。
    重要 當天02:00往前位移10分鐘的結果仍然是02:50

使用限制

進入和退出夏令時,僅對施行夏令時的地區有影響。

進入夏令時的影響樣本

影響一:執行個體產生

  • 情境一:對小時、分鐘任務的影響
    以小時周期任務為例,調度任務的調度周期配置如下圖,該情境每小時產生一個執行個體,正常情況下一天產生24個執行個體。進入夏令時的當天,只會產生23個執行個體,缺少02:00產生的執行個體。
    說明 02:00為夏令時的開始時間,時鐘會撥快一小時,即將02:00撥至03:00,因此02:00不會產生執行個體。
    冬夏令時切換對小時分鐘任務的影響
  • 情境二:對天任務的影響
    天調度任務,進入夏令時的當天同樣也會產生一個調度執行個體,但該任務是否正常執行與您任務的定時時間有關。
    • 如果調度任務的定時時間正好在02:00~03:00之間,則系統會把定時時間延遲1小時,並且將該執行個體運行狀態設定為空跑
    • 如果任務定時時間不在02:00~03:00之間,則任務正常執行。
    任務調度周期配置樣本如下。天調度任務

影響二:參數替換

  • 情境一:若調度任務的定時時間為03:00調度參數配置為$[hh24-1/24],則參數取值正常替換為02:00,當進入夏令時的時候,該參數將替換為01:00
  • 情境二:若調度任務的定時時間為02:00,調度參數配置為$[hh24-1/24],則參數取值正常替換為01:00,當進入夏令時的時候,該參數將替換為01:00。若任務為天調度任務,該天調度執行個體將空跑

退出夏令時的影響樣本

影響一:執行個體產生

以小時任務為例,退出夏令時當天,一天實際有25個小時(包含兩個02:00),小時調度任務產生的執行個體還是24個(只會取第二個02:00的執行個體)。

影響二:參數替換

退出夏令時當天,實際有25個小時(包含兩個02:00),小時調度任務產生的執行個體還是24個(只會取第二個02:00執行個體)。若任務的調度參數存在一些基於執行個體定時時間的計算,則可能會受到此25個小時的時間影響,存在偏差。具體情境如下:
  • 情境一:若調度任務的定時時間為03:00,調度參數配置為$[hh24-2/24] ,則參數取值正常替換為01:00,當退出夏令時的時候,該參數將替換為02:00
  • 情境二:若調度任務的定時時間為02:00,調度參數配置為$[hh24-1/24],則參數取值正常替換為01:00,當退出夏令時的時候,該參數將替換為02:00