ジョブフローを途中からリスタートさせる。
投稿日: / 更新日:
この記事は2年以上前に書かれたものです。情報が古い可能性があります。
ジョブネットの途中でコマンドジョブが実行に失敗した。
失敗原因を取り除き、失敗したコマンドジョブを再実行したところ、後続のコマンドジョブが実行されなかった。
失敗したコマンドジョブを再実行した際に、後続のコマンドジョブも実行させたい。
との声を頂いたので、実現方法をご案内いたします。
1.概要
実現したいジョブフローを以下に示します。
- job03はjob02の正常終了を待ち受けております。
- job02で失敗した場合に、失敗原因を取り除き、job02から再実行させたいとします。
(赤部分が手動作業になります)
これはジョブの待ち条件「条件を満たさなければ終了する」からチェックを外すことで、
実現可能です!
Hinemosでは、一旦終了してしまったジョブフローを再開することはできないので、
失敗時にフローが終了しない設定をすることが必要になります。
2.実行手順
まずは、デフォルトの設定時の動きを確認します。
(デフォルトでは、チェックが入っています。)
job02を失敗させます。
(※ジョブを見やすくするために、ジョブマップ機能を利用いたします。)
(緑=正常終了、赤=異常終了)
なお、job03は待ち条件をjob02の正常終了に設定している為、未実行で終了となっております。
(参考に以下job03の設定画面)
job02の失敗原因を取り除きます。
job02からジョブフローをリスタートさせます。
ジョブ履歴パースペクティブ→ジョブ履歴[ジョブ詳細]ビューより、
job02で右クリックをして開始を選択します。
OKを押下
・・・終了です。
デフォルトの設定だと、ジョブフローが終了してしまっている為、
フローとして再開されずに、再開されるのはjob02のみとなってしまいます。
後続ジョブを実行したい場合は、一つずつ手動で実行していかなければなりません。。。
ジョブの待ち条件「条件を満たさなければ終了する」からチェックを外すことで、
フローとして再開することが可能となります。
※以後、jobflow1をコピーしたCopy_Of_jobflow1を使用します。
「条件を満たさなければ終了する」欄からチェックを外します。
再度、job02で失敗させます。
(青=実行中、灰=待機)
job02の失敗原因を取り除きます。
job02からジョブフローをリスタートさせます。
先程同様、右クリック→開始→OKを押下
今度は、ジョブフローが終了せずに、実行中で止まっていた為、
フローとして再開することが出来ました。
3.おまけ
今回は、手動実行をして、ジョブフローをオペレーターが監視していたので、異常終了に気づくことができましたが、
カレンダ機能等で自動実行する場合には、コマンドジョブの異常終了時にイベント、ステータスに通知するように
設定をすることをおすすめいたします。
①異常終了(危険)時に通知するイベント通知を作成。
②コマンドジョブに上記通知を設定。
③異常終了時を検知し、監視履歴[イベント]に通知します。
■おわりに
今後もHinemosであれ出来るの?こうしたいけどやり方が。。。などのお声があれば、
今回のように公開させていただきますので、
コメント欄やアトミテックHPのお問い合わせフォームからご要望ください。