如何在Talend作业中执行条件测试?

时间:2017-09-12 10:34:30

标签: talend

我希望触发一系列过程,我想在开始后续过程之前判断每个过程是成功还是失败。

我正在使用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)

这意味着用否定编码测试两次。

我错过了什么,或者没有这样的条件组件?

1 个答案:

答案 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。

希望这会有所帮助......