我有一个带错误处理的talend主要作业(单个tRunjob),主要作业调用一个具有三个“tRunjob”的子工作,每个必须在“On subjob ok”触发器上依次执行。为了测试主要的作业错误处理,我给第二个tRunjob上的“tDelimitedinputfile”组件提供了一个错误的源文件名。当我执行主作业时,不是主要作业成功完成失败,而是在子作业和主作业中的所有tRunjob上启用“死错”。只有在我在第二个作业的“tDelimitedinputfile”组件中启用“模具错误”后,主要作业才会失败。所以问题是 我们是否必须在每个组件上手动启用“Die on error”,尽管tRunjob上启用了“Die on error”?
答案 0 :(得分:0)
是
组件必须将错误转发到作业,如果本身已启用该选项,则只会向前抛出错误。
这没有任何缺点。原因是某些作业或组件不需要任何错误处理。
答案 1 :(得分:0)
您不必为所有组件设置DieOnError。在TInputFileDelimited的情况下,如果缺少文件,则不会将其视为错误,除非您选中该框。似乎奇怪;但这就是这个组件的方式。
始终在组件上查找复选框,以便您了解其行为方式。