我希望触发一系列过程,我想在开始后续过程之前判断每个过程是成功还是失败。
我正在使用tSSH(在Talend 6.4.1上)来触发一个进程,我只希望在成功的情况下继续工作。如果收到非零返回码,tSSH“组件”似乎不会失败,所以我尝试使用断言。但是,即使断言失败,它似乎也不会阻止组件和子工作是“OK”,这有点奇怪,所以我不能使用on-(组件| subjob)-ok链接到下一个工作
我似乎无法找到任何条件评估组件,这些组件将允许我根据评估结果停止继续工作或子工作。
我能找到的唯一方法是
tSSH1 --IF globalMap.get("tSSH_1_EXIT_CODE").equals(0)--> tSSH2...
--IF !globalMap.get("tSSH_1_EXIT_CODE").equals(0)--> (failure logging subjob)
这意味着用否定编码测试两次。
我错过了什么,或者没有这样的条件组件?
答案 0 :(得分:0)
你可以使用tSSH组件的全局变量在tSSH组件上设置if条件以获得成功/失败,即
((String)globalMap.get(“tSSH_1_STDERR”))和((String)globalMap.get(“tSSH_1_STDOUT”))。
如果您可以检查的条件是:
if((String)globalMap.get(“tSSH_1_STDERR”))!= null)比调用错误日志 否则请拨打tSSH2。
希望这会有所帮助......