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