Fóruns: Open Discussion (Thread #21155)

【バッチFW】リスタート機能付き分割ジョブにおける親ジョブの終了 (2009-01-06 13:35 by Anônimo #40942)

PartitionChunkTransactionForRestartBeanを使うジョブにおいて、
親ジョブを中断終了すると、NO_Partitionのパーティションキーが
リスタート管理テーブルに登録されます。

親ジョブがERROR_ENDで終了する場合は、
リスタート管理テーブルに登録されないという仕様と
釣り合わないのですが、仕様ですか?

Responder a #40942×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login

RE: 【バッチFW】リスタート機能付き分割ジョブにおける親ジョブの終了 (2009-01-06 14:24 by Anônimo #40944)

説明不足に加えて、情報追加がありますので、補足します。
こちらの調査結果は次の通りとなりました。

親ジョブの前処理での終了:
 中断終了:リスタート管理テーブルに登録される。
 強制終了:リスタート管理テーブルに登録されない。

親ジョブの後処理での終了:
 中断終了:リスタート管理テーブルに登録されない。
 強制終了:リスタート管理テーブルに登録される。

仕様として問題ないか確認をお願いします。
Responder a #40942

Responder a #40944×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login

RE: 【バッチFW】リスタート機能付き分割ジョブにおける親ジョブの終了 (2009-01-07 14:47 by kuramotoki #40996)

分割ジョブの場合、親ジョブには主処理がないため
ジョブ前処理・後処理のトランザクション内でリスタート管理テーブルへの
更新を行う仕様になっています。

中断処理は、ジョブ前処理(後処理)のトランザクション範囲の処理を全て実行し
コミット後に終了します。

強制終了は、ジョブ前処理(後処理)のその時点でトランザクションをロールバックして
終了します。

リスタート管理テーブルの更新処理は、前処理(後処理)と同一トランザクションであること
から、調査結果で提示していただいた内容にて正しいです。

親ジョブの前処理での終了:
 中断終了:リスタート管理テーブルに登録される。
 強制終了:リスタート管理テーブルに登録されない。

親ジョブの後処理での終了:
 中断終了:リスタート管理テーブルに登録されない。 (クリア処理がコミット)
 強制終了:リスタート管理テーブルに登録される。  (クリア処理が実行されない)
 
以上です。
Responder a #40944

Responder a #40996×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login

RE: 【バッチFW】リスタート機能付き分割ジョブにおける親ジョブの終了 (2009-01-07 17:18 by Anônimo #41006)

想定通りの動作であることは了解しました。
ただ、疑問点があります。

1)親ジョブの前処理の処理後に中断終了する。
リスタート管理テーブルに登録される
2)当該ジョブを、リスタートする

上記操作を行うと、リスタートしたジョブは、子ジョブの前処理が実行されずに、ビジネスロジックからの実行となります。

これも想定された仕様でしょうか?

Responder a #40996

Responder a #41006×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login

RE: 【バッチFW】リスタート機能付き分割ジョブにおける親ジョブの終了 (2009-01-07 18:36 by kuramotoki #41013)

子ジョブの前処理が実行されないことはFWのバグです。
リスタート管理テーブルに子ジョブのリスタート情報が存在しないため、
ステータスをSTARTEDでジョブを開始しなければならないのですが、
RESTARTEDのままジョブを開始してしまうため、
前処理を処理せず実行してしまいます。

この点についてはできるだけ早く対処したいと考えております。

以上、よろしくお願いいたします。
Responder a #41006

Responder a #41013×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login