DatistEQ之條件分支

前天培訓(xùn)過(guò)程中,小厲同學(xué)提出一個(gè)需求。在流程運(yùn)行過(guò)程中,常使用數(shù)據(jù)庫(kù)、FTP等節(jié)點(diǎn),然而由于網(wǎng)絡(luò)不穩(wěn)定,使得數(shù)據(jù)源得不到保證,導(dǎo)致整個(gè)流程中止運(yùn)行。希望能夠起用一個(gè)備用分支,讓流程能夠正常發(fā)出消息,通知用戶流程的運(yùn)行狀況。

需求類似于DatistEQ中條件分支流程。條件分支,由IF設(shè)置節(jié)點(diǎn)與運(yùn)行器(文件收集器、順序運(yùn)行器、條件運(yùn)行器)相結(jié)合,共同組建分支流程。
IF節(jié)點(diǎn)為數(shù)據(jù)處理節(jié)點(diǎn),必須位于數(shù)據(jù)源節(jié)點(diǎn)之后,依據(jù)節(jié)點(diǎn)所在數(shù)據(jù)情況,運(yùn)行相應(yīng)的分支流程。
運(yùn)行器節(jié)點(diǎn),需運(yùn)行方式設(shè)置為分支流程。

示例流程中,IF節(jié)點(diǎn)與文件收集器構(gòu)成條件分支。其中,上面條件分支流程,設(shè)置的條件為當(dāng)前節(jié)點(diǎn)有數(shù)據(jù)時(shí)運(yùn)行;下面分支為ELSE分支。運(yùn)行時(shí),因上面條件分支沒(méi)有數(shù)據(jù),運(yùn)行時(shí)執(zhí)行ELSE分支。

條件分支流程
偽代碼解釋如下:

If(IF1節(jié)點(diǎn) 有數(shù)據(jù)) //示例中,為假,不運(yùn)行
{
    運(yùn)行:X1節(jié)點(diǎn)->文件收集器
}
ELSE
{
    運(yùn)行:X2節(jié)點(diǎn)->文件收集器
} 
運(yùn)行時(shí)

小厲同學(xué)需求基本與條件分支相當(dāng)。分支的范疇也超出了分支語(yǔ)句的運(yùn)行基礎(chǔ),IF條件的位置,需求擴(kuò)展到數(shù)據(jù)源節(jié)點(diǎn)之中。V2021 Q3中,對(duì)數(shù)據(jù)源節(jié)點(diǎn)進(jìn)行升級(jí),使它們具有IF節(jié)點(diǎn)的能力,可以與運(yùn)行器共同組件分支流程。

條件分支節(jié)點(diǎn)
示例

若多個(gè)條件分支存在時(shí),新版中增加了“僅執(zhí)行第一個(gè)滿足條件的分支”。

偽代碼解釋如下:
默認(rèn),不勾選:

If(IF1節(jié)點(diǎn) 有數(shù)據(jù))
{
    運(yùn)行:X1節(jié)點(diǎn)->文件收集器
}

If(IF2節(jié)點(diǎn) 有數(shù)據(jù))
{
    運(yùn)行:X1節(jié)點(diǎn)->文件收集器
}
ELSE
{
    運(yùn)行:X2節(jié)點(diǎn)->文件收集器
} 

勾選:
If(IF1節(jié)點(diǎn) 有數(shù)據(jù))
{
    運(yùn)行:X1節(jié)點(diǎn)->文件收集器
}
ELSE If(IF2節(jié)點(diǎn) 有數(shù)據(jù))  //<-差異
{
    運(yùn)行:X1節(jié)點(diǎn)->文件收集器
}
ELSE
{
    運(yùn)行:X2節(jié)點(diǎn)->文件收集器
} 

此外,若運(yùn)行器存在多個(gè)前節(jié)點(diǎn),且運(yùn)行器的運(yùn)行模式設(shè)置成了分支流程。在分支流程列表中,未勾選的分支流程,將不被執(zhí)行。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容