バッチ処理プログラムの粒度

バッチプログラムので複数ステップで処理を組み立てる場合の粒度を考える。
たとえば、日次でレジの締め処理するディレードの場合、変な中断でデータ矛盾がおきないようにデータベース更新を1トランザクションで行う。
処理が複雑なため複数に分けたりする誘惑に駆られるかもしれないが、分けた場所で異常終了した場合に、データが矛盾してしまう。

そういえば、世の中、ディレード処理のためのフレームワーク、あるのかな?

  • 同時実行可能全ジョブ数の設定。
  • 同時実行可能ジョブ数の設定。
  • ディレード実行の抑止。
  • ディレードの依頼。
  • 同時実行性を高める仕組み。(プログラム間の中間ファイルの名前の衝突の防止)
  • ディレードの実行状況の照会。
  • ログ参照の仕組み

絶対こんなのが要る。

おそらく、たぶん