本文為您介紹在進入和退出夏令時的時候,對調度任務執行個體產生和定時時間的影響。若您的工作空間所在地區施行夏令時,您可通過本文瞭解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
。