主流程、子流程、定時器都屬於控制容器;而每個控制容器,包含一個或多個模組;在模組中定義具體的作業。
一 主流程、子流程、定時器、模組之間的關係
主流程、子流程、定時器、模組在資源樹中的表達:
控制容器:
是作業的最大組織單位,是一個獨立完整的排程控制主體。在實際執行過程中,每個控制容器也相當於一個程式,在服務端都有一個對應的程序。因此,每個控制容器在Monitor中,都具有獨立啟停(啟用)操作的特性。
模組
:在TASKCTL中, 流程、定時器的作業定義資訊是透過xml格式程式碼組織的,而具體程式碼資訊是又存放在每一個模組檔案中。同時,為了方便管理,一個流程或定時器也可以由多個模組程式碼資訊構成。其次,像程式一樣。每個程式都有一個入口main函式類,而TASKCTL流程也有一個主模組入口。
流程與定時器:
流程與定時器是不同的控制容器, 有一個明顯的概念區分。流程對作業的組織是有序地,而定時器是無序的,作業之間不存在關係。TASKCTL,就是透過有序與無序這兩種組織形式,形成了一個相對完整的控制器體系。
主流程與子流程:
從技術的角度,主流程相當於一個守護程序,一旦執行,除非人為或異常退出,它就常駐記憶體,其流程內部是一個死迴圈,從開始執行到結束,又再次迴圈;而子流程,就相對於一個普通程式,執行結束後,相應的程序也會自動退出。
二 主流程、子流程、定時器的主要用途與應用場景。
1 總體上講,具有先後邏輯關係的作業用流程來組織,而不具有邏輯關係且離散的作業(只具有不同時間頻度的作業)用定時器來組織。
2 子流程,主要用於業務邏輯作業流的組織;主流程,一般用於邏輯觸發控制,用於觸發子流程的呼叫
三 用幾個例子,加深對主流程、子流程、定時器的主要用途與應用場景的理解
1
離散呼叫處理用定時器
2
業務子流程
用子流程來組織具體的業務處理流程
3
觸發控制主流程
主流程主要用於流程的觸發控制,本例是檔案達到觸發控制。
實際上,業務子流程的觸發控制,如果是簡單的定時觸發,建議採用定時器;但如果是一些比較複雜的流程觸發控制,就得采用主流程來觸發控制。
4
一個複雜的主流程觸發控制例子
對應程式碼
0元授權
推薦閱讀:
《
基於web的etl排程工具——Taskctl Free應用版0元購買,永久授權
》
《
0元永久授權:etl排程平臺Taskctl-Web應用版功能框架及特性
》