基于低代碼的工作流自循環(huán)節(jié)點設計
工作流場景中,循環(huán)節(jié)點隨處可見場景也比較多,比如多任務執(zhí)行、多人審批、多API交互以及各種條件、參數(shù)設置
最近在設計工作流后端引擎,把其中涉及到的兩個特殊功能點分享出來,希望對自研工作流引擎的同行有些幫助
NC&節(jié)點自循環(huán)有用戶通過終端低代碼的方式設置,pre node&前置節(jié)點、next node&后置節(jié)點、執(zhí)行對象、執(zhí)行條件及自循環(huán)節(jié)點參數(shù),最終形成數(shù)據(jù)結構模型
在規(guī)則運行時通過pre node把執(zhí)行數(shù)據(jù)參數(shù)傳遞,然后執(zhí)行引擎根據(jù)解析引擎解析的自循環(huán)設置的參數(shù)數(shù)據(jù)模型進行運行,每執(zhí)行一次任務,execute執(zhí)行引擎需要根據(jù)執(zhí)行結果判斷是否跳出自循環(huán)節(jié)點,常見的判斷條件有超時、執(zhí)行次數(shù)、任務執(zhí)行比率。實現(xiàn)任務時可以抽象一個run(…parameter)接口方便任務統(tǒng)一管理及維護,只要不滿足跳出條件就繼續(xù)執(zhí)行后續(xù)任務或者自循環(huán)同一個任務。當滿足條件后,則進入 next node&后續(xù)規(guī)則節(jié)點
主要分享低代碼、微服務、容器化、SAAS?、系統(tǒng)架構方面的的?內容??,希望?大家?點贊?,評論,關注?。
NC&節(jié)點自循環(huán)整體上可以看做是一個任務容器,實現(xiàn)多任務節(jié)點執(zhí)行一定比例、定時或者全部執(zhí)行完再進行后續(xù)任務,可以在自循環(huán)節(jié)點設置多任務、多腳本、跳出條件,相當于一個多執(zhí)行對象的容器,通過不斷的迭代不同的對象有序執(zhí)行,直到滿足跳出條件跳出。
NC&自循環(huán)節(jié)點通過低代碼實現(xiàn)方式,可以便利用戶通過可視化的界面就可以實現(xiàn)規(guī)則編排、設置,運維場景中的部門、定時、投票審批流需求,巡檢中的多腳本、定期巡檢,服務部署中的有服務順序的部署、多服務部、服務檢查及自循環(huán)規(guī)則節(jié)點的條件配置,有效的解決處理混合任務、多任務、有序任務、延遲任務的運維需求。
雖然是針對運維方向的流程引擎的設計,但其他行業(yè)也可以借鑒該思想,基本是相同的,只是實現(xiàn)的業(yè)務不同,但從上層看是基本一致的。
主要分享低代碼、微服務、容器化、SAAS?、系統(tǒng)架構方面的的?內容??,希望?大家?點贊?,評論,關注?。