エラー処理でのtDie、tWarn、tLogCatcherの使用
tDieによって、発生した例外に関連付けられているコードとメッセージを取得できます。また、JVMを中止したり、例外でジョブを終了させたりするオプションもあります。このコンポーネントは、発生したエラーの種類に応じたアクションをジョブで取りたい場合に非常に便利です。
tWarnによって、発生した例外に関連付けられているコードとメッセージを取得できます。一般的には、ジョブの完了を知らせるため、またはジョブの実行をブロックしない例外を知らせるために使用されます。キャッチャーコンポーネントに送信するメッセージとコードを選択できます。たとえば、tWarnを使ってジョブ内の特定のパイプラインフローの末尾を合図することができます。
tLogCatcherは、tWarnとtDieによって生成されたすべての例外と警告をキャッチします。また、ジョブの末尾でtWarnまたはtDieを使って、ジョブが正常に終了した時にtLogCatcherにジョブログをアップデートさせたり、またはその他のアクションを実行したりできます。
サンプルジョブ
デザイン
この例のジョブは、ファイルから読み取り、いくつかの変更を加えて出力ファイルに書き込みます。ジョブが正しく完了してファイルに書き込まれたことを知らせる場合はtWarnが使用されます。ファイルへの書き込み時に発生したエラーをキャプチャーし、ファイルに書き込まれた場合はtDieが使用されます。
- ジョブが期待どおりに動作し、ファイルが正しく書き込まれる。この場合、tWarnはメッセージを表示し、ジョブは緑色で終了します。
- ジョブは動作しているものの、ファイルの作成中に問題が発生した。この場合、ジョブは中止されずにエラーを表示した後に正常に終了します。
- ジョブで致命的エラーが発生した。
tLogCatcherはすべてのエラーをキャッチし、tMapで与えられた条件に従ってリダイレクトします。ここでは、tWarnで発生した警告はすべて警告ファイルに、tDieで発生したエラーメッセージはすべてエラーファイルに、予期しないその他のエラーはすべて別のエラーファイルにそれぞれ送信されます。
要件やデザインに応じてこれらのコンポーネントを使えば、ジョブを制御したりデータフローを効果的に管理したりできます。たとえばtWarnを使えば、ファイルが正しく作成された場合にサブジョブで呼び出せるようになります。