ジョブフロー内のいずれかのジョブがエラーになると、ジョブフロー全体がエラー状態となり、 後続のジョブは実行されません。 一方、エラーが発生したジョブよりも前に実行が完了しているジョブの結果は、そのまま反映されます。
具体例
ジョブフロー内に以下の3つのジョブが順番に設定されている場合を考えます。
ジョブ1: テーブルAへのインポート
ジョブ2: テーブルBへのインポート
ジョブ3: テーブルCへのインポート
ジョブ1が成功し、ジョブ2でエラーが発生した場合の挙動は以下のとおりです。
| ジョブ | 状態 | データの反映 |
|---|---|---|
| ジョブ1 | 成功 | 反映される |
| ジョブ2 | エラー | 反映されない |
| ジョブ3 | 未実行 | 反映されない |
ジョブ1で処理されたデータはテーブルAに反映された状態のままとなります。ジョブ2以降の処理結果は反映されません。
補足
ジョブフロー内の各ジョブは独立して実行結果が反映されます。ジョブフロー全体を一つのトランザクションとして扱う仕組みはないため、途中のジョブでエラーが発生した場合でも、ジョブフロー全体でのロールバック(巻き戻し)は行われません。