こんにちは!JP1/AJSのジョブ管理やテスト運用、日々お疲れ様です。
ジョブネットを「今すぐ動かしてテストしたい」「遅延したから手動で今すぐリターン実行したい」というとき、実行登録の選択肢に出てくる「計画実行(すぐに)」と「即時実行」。
文字面だけ見ると「どちらも今すぐ実行するんだから同じでしょ?」と思いがちですが、実はこの2つ、裏側でのスケジュールの扱い方がまったく異なります。
違いを正しく理解していないと、「動かす予定のなかった裏のジョブネットまで大暴走してしまった!」という大トラブルに発展することも……。
今回は、この2つの実行方式の決定的な違いと、運用の注意点を分かりやすく解説します!
1. 結論:違いは「スケジュールに従うか、完全無視するか」
一言でいうと、違いは配下のジョブネットが持っているスケジュール定義(カレンダーや実行日設定)を「尊重するか」「無視するか」にあります。
| 実行方式 | 実行のタイミング | 配下のスケジュール定義の扱い |
| 計画実行(すぐに) | 今すぐ実行 | ⭕ スケジュールに従う(その日動かないものはスキップ) |
| 即時実行 | 今すぐ実行 | ❌ スケジュールを完全無視(すべて強制実行) |
これだけだとイメージしにくいと思うので、具体的な挙動を詳しく見ていきましょう。
2. 「計画実行(すぐに)」の挙動
➔ 実行登録した「その日のスケジュール」を賢く守る
「計画実行(すぐに)」を選んだ場合、ジョブネットは今すぐ動き出しますが、配下のジョブネットやジョブに設定されているスケジュール定義をちゃんとチェックします。
-
その日、稼働日ではないジョブネットがある場合:
⇒ そのジョブネットは実行されず、静かにスキップ(または計画未実行)されます。
-
その日、稼働する予定のジョブネットがある場合:
⇒ 実行したタイミングがそのジョブネットの有効な時間内(または起動条件に合致)であれば、問題なく実行されます。
💡 一言でいうと:
「今日動くはずのルート(定義)の通りに、時間を前倒しして『今すぐ』動かす」というジェントルな実行方式です。
3. 「即時実行」の挙動
➔ スケジュール完全無視!力技ですべてを流す
一方で「即時実行」は、カレンダーやスケジュール設定をすべて完全無視して、登録された全ジョブ・全ジョブネットを上から順に強制実行します。
これが原因で、以下のような運用事故(誤動作)がよく発生します。
⚠️「即時実行」でよくある失敗パターン
「月次処理のジョブネットの中に、半年に1回しか動かない『レアなジョブネット』が混ざっていた。テストのつもりでルートを『即時実行』したら、そのレアジョブネットまで強制起動してしまい、過去のデータを上書きしてしまった……」
即時実行は「スケジュール判定」という安全弁を強制的に解除して動かすコマンドです。そのため、意図しない曜日限定ジョブや月次ジョブまで一網打尽に流れてしまうリスクがあります。
4. 実務での正しい使い分けシート
トラブルを起こさないために、現場では以下のように使い分けるのが鉄則です。
🛠️ 「計画実行(すぐに)」を使うべき場面
-
本番環境やステージング環境での手動実行・リカバリ
-
「今日動くはずの処理」を、運用の都合で数時間前倒ししてスタートさせたいとき
-
配下に曜日限定や日別で分岐する複雑なスケジュールが仕込まれているとき
🛠️ 「即時実行」を使っていい場面
-
スケジュール定義が一切関係ない、開発環境での単体テスト
-
完全に独立した単一のジョブ・ジョブネットを、カレンダー設定に関わらず今すぐ動かしたいとき
-
障害発生時など、カレンダーが「休日」になっていて本来動かない日だけど、無理やり強制起動させたいとき
まとめ
同じ「今すぐ動かす」ボタンでも、JP1の中では以下のような大違いがあります。
-
計画実行(すぐに)= 「今日のスケジュールのまま、時間だけを『今すぐ』にする(安全)」
-
即時実行= 「スケジュール設定をすべて破棄して、全部無理やり動かす(注意が必要)」
特に本番環境で手動実行する際は、指差し確認で「計画実行(すぐに)」を選ぶ癖をつけておくと、予期せぬジョブの誤爆を防ぐことができますよ。安全第一でスマートなJP1運用を心がけましょう!
