時間屬性是定義 DataWorks 周期任務何時、以何種方式被觸發的核心調度條件。它不僅包含用於設定執行時刻的調度時間,還整合了執行個體產生方式、調度日曆、重跑與逾時策略等一系列進階配置。這些參數共同構成了任務的時間行為計劃,控制其觸發規則、執行邊界及異常自愈機制。本指南將深入解析各項時間屬性的配置方法與工作原理,協助您構建無人值守、穩定可靠的自動化資料工作流程。
快速上手:配置案例
情境需求: 某電商公司需要每天淩晨 02:00 自動計算前一天的銷售總額,若因網路波動等因素導致失敗,要求系統自動重試 3 次。
第一步:設定調度時間
設定調度周期:雙擊任務名稱,在任務右側中的調度周期中,選擇“日”。
設定定時時間:設定定時時間為02:00。
第二步:設定調度策略
定義重跑屬性:在重跑屬性選擇運行成功或失敗後皆可重跑。
失敗自動重跑:勾選“出錯自動重試”,重試次數設為
3,間隔設為5分鐘。其餘屬性可保持預設。
配置結果:
任務發布後,系統會從次日(T+1)起,每天02:00 自動觸發。若執行失敗,會每隔 5 分鐘嘗試拉起一次,最多嘗試 4 次(1次正常運行+3次重試)。
功能介紹
時間屬性配置定義了周期任務從產生到執行的全過程,主要包含以下幾個核心維度:
調度時間:通過可視化定義任務執行的調度頻率和具體時間。
執行個體生命週期管理:決定執行個體何時被建立以及在何時有效。它包括:
執行個體產生方式:控制執行個體在發布當天或次日產生。
生效日期:設定任務的整體有效時間範圍。
調度日曆:用於排除非工作日(如節假日)。
執行策略:通過 調度類型定義執行個體到點後的行為,是正常運行、空跑(跳過)還是暫停。
異常與容錯:通過逾時定義和重跑說明,為任務執行失敗或逾時等異常情況提供自動化處理機制。
調度時間
調度時間控制了任務計劃啟動並執行時間(也叫定時時間),即在生產環境中,一個任務節點應該多久被自動觸發一次。系統會依據您設定的周期,為任務產生對應的周期執行個體個數,並通過這些執行個體的調度時間和調度依賴來驅動整個工作流程的自動化運行。
定時時間與業務日期是DataWorks中最重要的兩個基準時間概念,詳情參見:核心概念:時間基準。
調度周期的獨立性與依賴關係
頻率獨立:任務的調度頻率(如“每小時”或“每天”)由其自身配置決定,與其上遊任務的頻率無關。例如,一個“日調度”的報表任務可以依賴一個“小時調度”的資料準備任務。更多不同周期頻率的依賴配置,請參見必讀:複雜依賴情境調度配置原則與樣本。
執行個體依賴:不同調度周期任務間的依賴(跨周期依賴)本質是執行個體依賴。系統會自動解析並確保下遊執行個體在其業務日期對應的所有上遊執行個體全部成功後,才滿足依賴條件。
空跑機制:為避免阻塞,非日調度任務(如周、月、年)在其非運行日會產生一個空跑執行個體。該執行個體會立即置為成功,但不執行代碼或消耗資源,從而確保下遊的日調度任務能被正常觸發。
定時時間 VS 實際已耗用時間
定時時間:您在調度配置中設定的時間是任務的預期啟動時間,即任務可以開始啟動並執行最早時刻。
實際已耗用時間:任務的實際開始執行時間取決於以下兩個條件被同時滿足:
所有上遊執行個體均已成功運行。
當前有可用的計算資源。
調度時區
任務的調度時間預設採用其所屬工作空間地區對應的時區。如需變更,可參見切換調度時區以應對夏令時切換等情境。 情境:夏令時切換對調度任務啟動並執行影響
以下為各個情境的配置樣本:
分鐘調度
設定起止時間段和運行間隔。最小間隔為 1 分鐘。在指定時間段內,系統會按固定間隔產生多個執行個體。
配置樣本
目標節點每天00:00~23:59的時間段內,每隔30分鐘調度一次,配置詳情如下圖所示。

執行個體詳情
每30分鐘調度一次的節點其執行個體定時時間與調度參數替換情況如下圖所示。
小時調度
適用於高頻同步或近Realtime Compute情境。
執行個體產出邏輯:系統依據雙閉區間 [起始時間, 結束時間] 計算周期執行個體。
樣本:若時間區間設為
[00:00,03:00],時間間隔為1 小時,系統將產出 4 個執行個體,其計劃執行時間精確落在 0 點、1 點、2 點和 3 點。
配置方式:
頻率觸發:在指定的時間段內,按固定時間間隔(如每小時)迴圈執行。
點位觸發:直接指定一個或多個離散的精確時間點運行。
配置樣本
目標任務在每天00:00~23:59的時間段內,每隔6小時自動調度一次,配置詳情如下圖所示。

調度詳情
調度系統每天將產生4個執行個體,並在執行個體的定時時間0點、6點、12點和18點運行,如下圖所示。
日調度
日調度為最常見的調度方式,支援使用者在指定的生效時間範圍內,每天在指定的定時時間運行一次。任務建立後預設即為日調度,調度時間是在00:00~00:30時間段隨機產生。您可根據需要自行指定已耗用時間點。例如,指定每天13點運行一次。
配置樣本

調度詳情
調度系統會自動為任務產生執行個體並運行,各業務資料加工時間如下圖所示。
周調度
適用於每周固定頻率進行的業務匯總或周期性資料維護。
執行個體產出邏輯: 系統在生效期內每日均會產出執行個體。
正常執行:僅在您勾選的運行日(如周一、周五)按時觸發代碼邏輯。
自動空跑:非勾選日期(如周二、三、四、六、日)產生的執行個體會自動變為“空跑成功”狀態,不真實執行邏輯,不佔用計算資源。
配置樣本
目標任務配置在每周一、周五兩天定時運行,則在周一、周五產生的執行個體會正常調度執行,而周二、周三、周四、周六以及周日這五天產生的執行個體會空跑,即到達定時已耗用時間後會直接置為成功狀態,不會真實執行代碼邏輯,配置詳情如下圖所示。

調度詳情
調度系統會自動為任務產生執行個體並運行。
月調度
適用於按自然月進行資料處理的情境,是財務結算、月度業績報告、使用者行為月度分析等核心任務的常用周期。
執行個體產出邏輯:系統依據您選擇的每月特定日期來產生執行個體。一個月調度執行個體代表一個完整的自然月。
正常執行:僅在您勾選的運行日(如15號、每月最後一天)按時觸發代碼邏輯。
自動空跑:非勾選日期(如每月1號-14號)產生的執行個體會自動變為“空跑”狀態,不真實執行邏輯,不佔用計算資源。
配置樣本
目標任務配置在每月最後一天運行結算,則每月最後一天產生的執行個體會正常調度執行,而其它日期產生的執行個體會空跑,即到達定時已耗用時間後將直接置為成功狀態,不會執行代碼邏輯,配置詳情如下圖所示。

調度詳情
調度系統會自動為任務產生執行個體並運行,如下圖所示。
使用補資料功能對月調度任務執行補資料操作時,請注意補資料選擇的為業務日期,業務日期=定時調度日期-1。
例如:
每月一號的任務在執行補資料操作時應選擇業務時間為上個月末。
每月月底調度的任務在執行補資料操作時應選擇業務時間為月末的前一天。
若補資料選擇業務時間為其他時間,補資料執行個體將空跑。
更多情境依賴情境可參見:複雜依賴情境調度配置原則與樣本。
年調度
適用於季度匯總、年度審計或特定節假日的長周期資料任務。
執行個體產出邏輯: 全年 365 天均會產出執行個體,但僅在指定的月份和日期觸發真實計算。
靈活組合:支援跨月份的多日期選擇,例如僅在每季度的首日或末日運行。
空跑機制:在未滿足執行條件的日期執行個體秒級空跑,不真實執行邏輯,不佔用計算資源。
配置樣本
目標任務配置在每年的一月、四月、七月、十月的1日和最後一日運行,則在上述指定日期產生的執行個體會正常調度執行,而其它日期產生的執行個體會空跑,即到達定時已耗用時間後將直接置為成功狀態,不會真實執行代碼邏輯,配置詳情如下圖所示。

調度詳情
調度系統會自動為任務產生執行個體並運行,如下圖所示。
cron運算式會根據您選擇的時間自動產生,不可手動修改。
執行個體生命週期管理
這幾項配置決定了任務執行個體的是否建立。它不關心任務具體的已耗用時間,而是宏觀地管理執行個體是否應該被建立、以及調度規則本身是否有效。
執行個體產生方式:決定了您的配置修改是對當天生效,還是次日再生效。次日生效(預設)可確保變更不干擾當天任務,實現平滑過渡;而即時生效會強制重設當天執行個體以應用變更,請僅在緊急修複且瞭解變更影響並評估過風險後使用。
生效日期:定義了整套調度規則的有效期間。
調度日曆:允許您將調度綁定到特定的日曆,例如只在“交易日”運行,是比“周”更靈活的控制方式。
執行個體產生方式
節點提交發布至生產環境調度系統後,平台會根據節點配置的執行個體產生方式(包括T+1次日產生和發布後即時產生)產生自動調度的周期執行個體,無論使用哪種執行個體產生方式,都可在營運中心的周期任務介面看到任務的最新依賴情況。但周期執行個體何時生效或依賴關係何時更新,與您選擇的執行個體產生方式有關,具體如下。
為確保發布後即時產生的執行個體能正常調度而不產生“到期空跑”,請務必保證任務的定時調度時間晚於任務發布時間至少 10分鐘 以上。任務僅在發布10分鐘後的生效時間點,才會真實執行代碼邏輯或根據最新的調度配置重建執行個體。
無論選擇哪種執行個體產生方式,
23:30~24:00時間段的變更操作均會在節點發布至生產環境後的第三天生效,請盡量避免在該時間段執行任務變更操作。
執行個體產生方式 | 說明 |
T+1次日產生(推薦) |
|
節點發布後立即產出當日執行個體。僅當定時時間晚於發布時刻 10 分鐘時,產生的執行個體才會正常觸發;若定時時間早於該臨界點(包括過去時間及處於緩衝區內的時間),執行個體將自動進入空跑狀態(即直接置為成功,不真實執行代碼)。
|
生效日期
定義任務自動調度的有效時間範圍。任務超過有效期間後將不再產生執行個體,成為到期任務,可在營運大屏中監控和管理。
調度日曆
用於定義任務的調度日期與調度方式,DataWorks支援如下兩種日曆:
預設日曆:平台提供,適用於通用情境。
自訂調度日曆:使用者自訂,適用於有靈活調度日期需求的行業及情境(例如,金融行業)。可根據需要配置日曆所應用的工作空間、日曆的有效期間、指定日期任務的調度方式等規則,詳情請參見配置調度日曆。
執行策略
該配置定義了當任務被觸發後,它應該以何種方式被執行。
調度類型
DataWorks支援的調度類型如下表所示。
調度類型 | 影響說明 | 使用情境 |
正常調度 | 正常執行代碼並觸發下遊。 | 正常狀態啟動並執行周期任務,並且產生的周期執行個體也是正常狀態運行。 |
暫停調度 | 執行個體到達時間後不運行且轉失敗,會阻塞下遊。暫停調度與營運中心的凍結為同質性的操作。暫停調度的節點在營運中心會展示凍結表徵圖 | 適用於緊急截斷商務程序。 當某類商務程序在一定時間內不需要執行時,可選擇此調度類型來凍結商務程序根節點。當業務需要執行時,可再對商務程序根節點執行解凍操作。解凍任務,詳情請參見任務凍結與解凍。 |
空跑調度 | 執行個體到達定時時間後直接轉成功(執行時間長度為 | 當某個節點在一定時間內不需要執行,並且不想阻塞其下遊節點執行時,可選擇此類型調度。 |
異常與容錯
這是保障資料鏈路穩定性的關鍵,為可能出現的各種異常情況預設好應對方案。
重跑屬性:當任務執行失敗時,系統是否應該以及應該如何自動進行重試。
逾時設定:為任務設定一個合理的運行時間長度上限,一旦超過該時間長度,系統可以自動警示或中斷任務,防止單個節點異常夯死、消耗過多資源。
逾時定義
設定任務啟動並執行最長允許時間。如果運行時間長度超過該值,任務將自動終止共置為失敗狀態,以防任務長時間卡死影響整個工作流程。
適用範圍:對周期執行個體、補資料執行個體、測試執行個體均生效。
預設值:預設為 3-7 天,系統根據實際負載動態調整。
限制:手動設定的最大值為 168 小時(7 天),最小值為1分鐘。
重跑說明
重跑策略用於實現任務的故障自動回復。
使用重跑屬性時,應盡量保證任務的等冪性(特殊任務除外),避免在任務出錯重跑後,出現大量資料品質問題。例如,在ODPS SQL的開發過程中,使用
insert overwrite語句來替代insert into語句。
重跑屬性:重跑策略用於實現任務的故障自動回復。
類型
應用情境
運行成功或失敗後均可重跑
適用於可重複執行且不影響結果的等冪任務。
運行成功後不可重跑,運行失敗後可以重跑
防止因誤操作重跑成功任務而導致資料汙染。
運行成功或失敗後皆不可重跑
適用於非等冪任務(如某些資料同步)。選擇此項後,出錯自動重跑功能將不可用。
出錯自動重跑:當任務運行失敗時,系統自動觸發重跑。
參數
描述
重跑次數
失敗後自動重試的次數。範圍:1-10 次。
重跑間隔
每次重試的間隔時間。範圍:1-30 分鐘。
說明因運行逾時導致的失敗不會觸發自動重跑。
常見問題(FAQ)與最佳實務
Q:任務的實際已耗用時間為什麼和定時時間不一致?
A:定時時間只是任務的“預期”啟動時間。實際運行還需滿足兩個條件:① 所有上遊依賴任務都成功運行;② 當前有可用的調度資源。任何一個條件不滿足,任務都會處於等待狀態。
Q:我的上遊是小時任務,下遊是天任務,它們能互相依賴嗎?
A: DataWorks支援不同調度周期的任務互相依賴。系統會通過複雜的依賴解析演算法,確保下遊任務能正確地等待其所有上遊執行個體完成後再運行。具體原則請參見:必讀:複雜依賴情境調度配置原則與樣本。
Q:我補了上周五的資料,為什麼
bizdate變數不是周五的日期?A:這通常是因為您混淆了“業務日期”和“運行日期”。在DataWorks中,業務日期 = 定時時間 - 1天。當您對一個定時在周六淩晨的任務執行補資料操作時,您需要選擇的業務日期是周五。
Q:我的工作有資料寫入邏輯,重跑時資料會重複嗎?
A:可能會。因此,強烈建議保證任務的等冪性。對於資料寫入類任務,應優先使用
INSERT OVERWRITE(覆蓋寫入)而非INSERT INTO(追加寫入),確保多次重跑結果一致。