2017-05-18 1 views
1

私はエラーハンドリングを伴うtalendメインジョブ(Single tRunjob)を持っていますが、メインジョブは3つの "tRunjob"を持つサブジョブを呼び出します。 "Subjob ok"トリガー。メインジョブのエラー処理をテストするために、2番目のtRunjobの "tDelimitedinputfile"コンポーネントに間違ったソースファイル名を付けました。私がメインジョブを実行すると、メインジョブが正常に終了しなかったのではなく、サブジョブとメインジョブのすべてのtRunjobで "エラー時にダイス"が有効になります。 2番目のジョブの "tDelimitedinputfile"コンポーネントの "Die on error"を有効にした後で、メインジョブは失敗しています。質問は です。各コンポーネントで "die on error"を手動で有効にする必要がありますか?tRunjobで "Die on error"Talend - コンポーネント対tRunjobの "die on error"

+0

はい、正しい場合は、個々のコンポーネントのエラーでこのダイを有効にしない場合と同様に、エラーが発生した場合にメインジョブに例外がスローされません。 – garpitmzn

+0

プロジェクトレベルのすべてのコンポーネントで「Die on Error」を有効にすることに問題がありますか? – user7343922

答えて

0

はい。

コンポーネントは、エラーをジョブにスローする必要があります。その場合、コンポーネント自体がオプションを有効にしている場合にのみエラーがスローされます。

これにはマイナス面もありません。この理由は、一部のジョブまたはコンポーネントがエラー処理を必要としないということです。

+0

もう一度tobiさん、すべてのコンポーネントのプロジェクトレベルでデフォルト設定として "Die on error"を設定する必要はありますか? – user7343922

+0

問題ありません。私はこれらのオプションのどれかについてはわかりませんが、どこかで利用可能かもしれません。 – tobi6

0

すべてのコンポーネントにDieOnErrorを設定する必要はありません。 TInputFileDelimitedの場合、チェックボックスをオンにしない限り、ファイルが見つからない場合はエラーとはみなされません。奇妙に思える。しかし、それはこのコンポーネントと同じ方法です。

コンポーネントのチェックボックスを常に調べて、コンポーネントの動作を確認します。