排程規則——排程任務是否能運作起來要滿足的條件:
上遊任務執行個體是否都運作成功。若所有上遊任務執行個體都運作成功則觸發任務進入等待時間狀态。
任務執行個體定時時間是否已經到。任務執行個體進入等待時間狀态後會check本身定時時間是否到,如果時間到了則進入等待資源狀态;
目前排程資源是否充足。任務執行個體進入等待資源狀态後,check目前本項目排程資源是否充足,若充足則可以運作起來。
天排程任務,即每天自動排程運作一次,運作時遵循排程規則。建立排程任務時,排程周期預設就是天排程。
具體時間預設是00:00:00,可自行指定,當然指定具體時間後依然需要遵循排程規則進行起調,不一定就能在指定的時間馬上運作起來。
場景:3個任務——導入、統計加工、導出,都是天任務,具體時間如上圖13點;統計加工任務依賴導入任務,導出任務依賴統計加工任務,依賴配置如下圖(‘統計加工任務’的依賴屬性配置上遊任務為‘導入任務’):
這樣的配置自動排程形态如下:
周排程任務,即每周周n那天會自動排程運作一次,運作時遵循排程規則;沒指定的每天也都會生成自動排程執行個體但是是空跑執行個體,即排程到的時候直接傳回成功狀态不會真正執行任何邏輯,也不會占用資源。
如上圖中,每周一、周五兩天生成的執行個體會正常的排程執行,而周二、三、四、六以及周日5天都是生成空跑執行個體。
注意: 這個任務送出後,想進行排程測試,選擇業務日期的時候,隻有選擇“周日”或“周四”的日期,生成的測試執行個體可以真正運作的執行個體,選擇其他業務日期生成的執行個體都是空跑執行個體。
任務的自動排程形态如下:
周排程任務,即每月指定的日期那天會自動排程運作一次,運作時遵循排程規則;沒指定的日期每天也都會生成自動排程執行個體但是是空跑執行個體,即排程到的時候直接傳回成功狀态不會真正執行任何邏輯,也不會占用資源。
如上圖中,每月1日生成的執行個體會正常的排程執行,其他日期每天都是生成空跑執行個體。
注意:
這個任務送出後,想進行排程測試,選擇業務日期的時候,隻有選擇每個月最後一天的日期生成的測試執行個體才能真正運作,其他業務日期生成的執行個體都是空跑執行個體。
目前系統不支援配置“每月最後一天”,排程周期—選擇時間若選“每月31日”那麼隻有那個有31日的月份會有一天真正排程,其他都是空跑。若是需要統計彙總每個月的資料,正常情況就是配置每月一日排程,代碼邏輯裡寫定義處理上個月的資料。
上圖的配置,任務自動排程形态如下:
分鐘排程任務,即每天指定的時間段内,每隔n(5的倍數)分鐘自動排程運作一次,運作時遵循排程規則。
如上圖,表示每天00點整到23點59分這個時間段内,每隔30分鐘會自動排程一次。
開始時間、結束時間的“時”可以調整,比如可以調整為每天08點——20點59分,每隔30分鐘執行一次。
上圖的配置,排程形态如下:
小時排程任務,即每天指定的時間段内,每隔n(1的倍數)分鐘自動排程運作一次,運作時遵循排程規則。
如上圖,表示每天00點整到23點59分這個時間段内,每隔6小時會自動排程一次。
開始時間、結束時間的“時”可以調整,比如可以調整為每天08點——20點59分,每隔1小時執行一次。