JP1/AJSの全体像と主要機能
1.JP1/AJSとは
JP1/AJSは、企業システムのバッチ処理を自動化・可視化するジョブスケジューラ。
Windows/Linux/UNIXを跨いだジョブ連携、依存関係管理、実行制御、監視を一元化できる。
主な特徴
- ジョブネットによる階層的なバッチ管理
- スケジュール実行(日時・周期・条件)
- 異常時のリトライ・分岐
- 他システム連携(HULFT、AJS、Web API など)
- 運用監視(JP1/IM)との統合
2.基本概念(ここを押さえるとAJSが理解しやすい)
・ ジョブネット
ジョブの集合体。
階層構造で管理でき、上位ジョブネットが下位ジョブネットを呼び出す。
ジョブネット(親)
├─ ジョブA
├─ ジョブB
└─ ジョブネット(子)
├─ ジョブC
└─ ジョブD
・ ジョブ
実行単位。
- コマンドジョブ(shell / bat / exe)
- ファイル転送ジョブ(HULFT連携)
- HTTPジョブ(REST API呼び出し)
- 終了待ちジョブ(ファイル・プロセス待ち)
・ スケジュール
- 毎日/毎週/毎月
- 特定日(営業日、月末、祝日除外など)
- カレンダー連携(JP1/Calendar)
・ 終了状態
- 正常終了(0)
- 異常終了(≠0)
- 警告終了
- 未実行/待ち/実行中
3.よく使う機能(実務で必須)
・ ① 依存関係制御
前後関係を定義して、処理順序を保証する。
例:
- A → B → C の順に実行
- Aが正常終了したらBへ
- Aが異常終了したらCへ(エラー処理)
・ ② 条件分岐
終了コードによって処理を分岐できる。
if 終了コード = 0 → 正常ルート
else → エラールート
・ ③ リトライ
ネットワーク系ジョブでよく使う。
設定例:
- 最大3回
- 5分間隔
- リトライ失敗時はエラー処理へ
・ ④ ジョブの並列実行
複数ジョブを同時に走らせて処理時間を短縮。
例:
- ETL処理を3系統並列
- 完了後に集約ジョブを実行
・ ⑤ リカバリ(再実行)
異常終了時の再実行方法
- ジョブ単体再実行
- ジョブネット全体再実行
- 強制終了 → 再実行
- スキップ実行(依存関係を無視して進める)
4.実際の使い方(GUI操作の流れ)
・ ① ジョブネット作成
- JP1/AJSのGUIを開く
- 新規ジョブネットを作成
- ジョブをドラッグ&ドロップ
- 依存線をつなぐ
- ジョブの詳細設定(コマンド、環境変数、終了コード判定)
・ ② スケジュール設定
- 実行日(毎日、毎週、月末、営業日など)
- 実行時刻
- カレンダー適用
- 例外日(年末年始など)
・ ③ 実行
- 即時実行
- スケジュール実行
- 手動での強制実行も可能
・ ④ 監視
- 実行中/待ち/終了状態をリアルタイム表示
- 異常終了時は赤色表示
- JP1/IMと連携してアラート通知
・ ⑤ ログ確認
- ジョブの標準出力/標準エラー
- AJSの実行ログ
- OS側のログ(Windows Event Viewer / Linux syslog)
5.運用でよくあるパターン(実務向け)
・ パターン1:ファイル到着待ち → ETL → バッチ
ファイル待ちジョブ
↓
ETLジョブ(並列)
↓
集約ジョブ
↓
レポート出力
・ パターン2:HULFT連携
送信ジョブ
↓
受信待ちジョブ
↓
加工ジョブ
・ パターン3:月次処理(営業日・月末)
- JP1カレンダーで営業日定義
- 月末処理は「月末」指定
- 祝日除外も可能
・ パターン4:障害時の自動切替
- リトライ
- 代替ジョブへ分岐
- エラー通知(JP1/IM)
6.トラブルシューティングの基本
・ ① 異常終了コードの確認
- 終了コード
- 標準出力/標準エラー
- OSログ
・ ② 依存関係の確認
- 前段ジョブが未実行
- 条件分岐の誤設定
・ ③ スケジュールの確認
- カレンダー設定ミス
- 実行日が除外されている
・ ④ 実行ユーザー権限
- Windows:サービスアカウントの権限不足
- Linux:sudo設定、ファイル権限
7.運用設計のベストプラクティス
- ジョブネットは階層化して見通しを良くする
- 終了コードは0/1/9など明確に定義
- ログは日次ローテーション
- エラー処理ルートを必ず作る
- 再実行手順を運用手順書に明記
- 依存関係は最小限にして複雑化を避ける
- カレンダーは年次更新を忘れない
以上です。
「なりたい自分の、その先へ」
エンジニアファーストの会社、助け合いの共同体、ワークスタイルは多様、集まり帰る場所のある会社
株式会社CRE-COエンジニアリングサービス
https://www.cre-co.jp/
伊藤 俊広
私たちと一緒に働きませんか?
https://en-gage.net/cre-co/