愛伊米

開源ETL工具:Taskctl主流程、子流程、定時器以及模組之間的區別

主流程、子流程、定時器都屬於控制容器;而每個控制容器,包含一個或多個模組;在模組中定義具體的作業。

一 主流程、子流程、定時器、模組之間的關係

開源ETL工具:Taskctl主流程、子流程、定時器以及模組之間的區別

主流程、子流程、定時器、模組在資源樹中的表達:

開源ETL工具:Taskctl主流程、子流程、定時器以及模組之間的區別

控制容器:

是作業的最大組織單位,是一個獨立完整的排程控制主體。在實際執行過程中,每個控制容器也相當於一個程式,在服務端都有一個對應的程序。因此,每個控制容器在Monitor中,都具有獨立啟停(啟用)操作的特性。

模組

:在TASKCTL中, 流程、定時器的作業定義資訊是透過xml格式程式碼組織的,而具體程式碼資訊是又存放在每一個模組檔案中。同時,為了方便管理,一個流程或定時器也可以由多個模組程式碼資訊構成。其次,像程式一樣。每個程式都有一個入口main函式類,而TASKCTL流程也有一個主模組入口。

流程與定時器:

流程與定時器是不同的控制容器, 有一個明顯的概念區分。流程對作業的組織是有序地,而定時器是無序的,作業之間不存在關係。TASKCTL,就是透過有序與無序這兩種組織形式,形成了一個相對完整的控制器體系。

主流程與子流程:

從技術的角度,主流程相當於一個守護程序,一旦執行,除非人為或異常退出,它就常駐記憶體,其流程內部是一個死迴圈,從開始執行到結束,又再次迴圈;而子流程,就相對於一個普通程式,執行結束後,相應的程序也會自動退出。

二 主流程、子流程、定時器的主要用途與應用場景。

1 總體上講,具有先後邏輯關係的作業用流程來組織,而不具有邏輯關係且離散的作業(只具有不同時間頻度的作業)用定時器來組織。

2 子流程,主要用於業務邏輯作業流的組織;主流程,一般用於邏輯觸發控制,用於觸發子流程的呼叫

三 用幾個例子,加深對主流程、子流程、定時器的主要用途與應用場景的理解

1

離散呼叫處理用定時器

開源ETL工具:Taskctl主流程、子流程、定時器以及模組之間的區別

2

業務子流程

開源ETL工具:Taskctl主流程、子流程、定時器以及模組之間的區別

用子流程來組織具體的業務處理流程

3

觸發控制主流程

主流程主要用於流程的觸發控制,本例是檔案達到觸發控制。

開源ETL工具:Taskctl主流程、子流程、定時器以及模組之間的區別

實際上,業務子流程的觸發控制,如果是簡單的定時觸發,建議採用定時器;但如果是一些比較複雜的流程觸發控制,就得采用主流程來觸發控制。

4

一個複雜的主流程觸發控制例子

開源ETL工具:Taskctl主流程、子流程、定時器以及模組之間的區別

對應程式碼

開源ETL工具:Taskctl主流程、子流程、定時器以及模組之間的區別

0元授權

推薦閱讀:

基於web的etl排程工具——Taskctl Free應用版0元購買,永久授權

0元永久授權:etl排程平臺Taskctl-Web應用版功能框架及特性