Conditions 與 Switch 區別
Condition節點主要依據上遊節點的執行狀態(成功、失敗)執行對應分支;
Switch節點主要依據全局變量或者上遊傳過來的值和用戶所編寫的表達式判斷結果執行對應分支;
Conditions 節點
Conditions 是一個條件節點,根據上遊任務運行狀態,判斷應該運行哪個下遊任務。截止目前 Conditions 支持多個上遊任務,但隻支持兩個下遊任務。當上遊任務數超過一個時,可以通過且以及或操作符實現復雜上遊依賴
1.任務參數
任務參數 |
描述 |
下遊任務選擇 |
根據前置任務的狀態來跳轉到對應的分支:成功分支 - 當上遊運行成功時,運行成功選擇的分支;失敗分支 - 當上遊運行失敗時,運行失敗選擇的分支 |
上遊條件選擇 |
可以為 Conditions 任務選擇一個或多個上遊任務:增加上遊依賴 - 通過選擇第一個參數選擇對應的任務名稱,通過第二個參數選擇觸發的 Conditions 任務的狀態;上遊任務關系選擇 - 當有多個上遊任務時,可以通過且以及或操作符實現任務的復雜關系。 |
2.創建任務
3.查看執行結果
4.註意事項
- Conditions 任務支持多個上遊任務,但隻支持兩個下遊任務。
- Conditions 任務以及包含該任務的工作流不支持復制操作。
- Conditions 的前置任務不能連接其分支節點,會造成邏輯混亂,不符合 DAG 調度。如下圖所示的情況是錯誤的。
Switch 節點
Switch 是一個條件判斷節點,依據全局變量的值或者上遊傳過來的值和用戶所編寫的表達式判斷結果執行對應分支。 註意使用
javax.script.ScriptEngine.eval 執行表達式。
1.任務參數
任務參數 |
描述 |
條件 |
可以為 switch 任務配置多個條件,當條件滿足時,就會執行指定的分支,可以配置多個不同的條件來滿足不同的業務,使用字符串判斷時需要使用"" |
分支流轉 |
默認的流轉內容,當條件中的內容為全部不符合要求時,則運行分支流轉中指定的分支 |
2.設置條件
配置條件和默認分支,滿足條件會走指定分支,都不滿足則走默認分支。
3.創建任務
4.查看結果
5.通過前置條件傳的值進行判斷
隻是在 switch 組件前添加一個 Switch組件進行判斷的值得獲取方式;