アルパカDiary Pro

はてなブログProではありません

バッチ管理ツールを作る 仕様もろもろ

ちょっと眠いですが、バッチ管理ツールの仕様を考えてみます。
というか適当に羅列。*1

  • Webアプリケーションで、簡単な管理画面がある。
    • 親ジョブを登録する画面。
    • スケジュールを登録する画面(できればcronではなく、独自実装)。
    • 親ジョブを選択したあとで、子ジョブ(ジョブフロー)を登録する画面。
    • 親ジョブ単位ですべてのログを取る。ジョブフロー自体を毎回コピーする(スナップショット)。
    • エラーなどで止まったジョブは、画面上から再実行できる(その時点のスナップショットを変更して実行も可能)。
    • 実行中ジョブはリアルタイムで管理画面に反映。停止も可能。
    • 登録できるジョブフローの種類は以下の通り。
      • 単体ジョブ
      • 条件分岐
      • 並列処理
      • ジョブ待ち合わせ
      • ファイル待ち合わせ
  • 登録できるジョブは、言語を問わない。
  • アラートメールなど、通知機能も実装(親ジョブ毎に設定?)


こんな感じ。
基本的には現在手作業でやってる最低限のジョブ管理が出来ればOKです。
ジョブはどうやって実行しようかな。
systemコマンドでやるのが簡単なんだろうけど、
上記の仕様を満たすには難しい気がする…。
ダンPerlにもあったジョブキューとか使うといいのかな?


まだ頭の中だけなので、形にするまで時間がかかりそうな感じ。

*1:思い出したら追加していきます