実行条件を指定したジョブの連続実行

作成日 2023/6/28

はじめに

この記事では、実行条件を指定したジョブの連続実行についてご紹介いたします。

Hinemosは後続するジョブの起動の有無を先行するジョブの処理結果の値(終了状態もしくは終了値)により指定し、
1つのジョブの終了時に、複数のジョブが開始するように指定することができます。

また、待ち条件として、先行ジョブのジョブ(終了状態)、ジョブ(終了値)、時刻、セッション開始後の時間(分)、ジョブ変数、セッション横断ジョブ(終了状態)、セッション横断ジョブ(終了値)、を判定基準としてジョブを実行できます。

待ち条件に時刻やセッション開始後の時間を指定した場合、指定した時刻を過ぎていれば、待ち条件を満たしたと判定されます。

今回は、承認ジョブの実行結果によって、後続のジョブを実行します。

設定方法

承認ジョブの結果によって、後続ジョブを変える構成でジョブの設定を行っていきます。

1. リポジトリにHinemosエージェントがインストールされているノードを登録します。

 

20230628_01_リポジトリ登録

 

2. Hinemosエージェントが起動しているか確認します。

 

20230628_02_エージェント起動確認

 

3. ジョブを登録します。

以下が今回のジョブの構成です。

ジョブユニットの配下に以下の3つを登録します。

・承認ジョブ

・承認ジョブの承認が通った場合に実行されるコマンドジョブ

・承認ジョブの承認が通らなかった場合に実行されるコマンドジョブ

 

20230628_03_ジョブ登録

 

●「承認ジョブの内容(Approval)」

承認ジョブ作成時のデフォルトの内容に以下の設定を加えます。

・承認依頼分を記載

 

20230628_04_承認ジョブ

 

●「承認ジョブの承認が通った場合に実行されるコマンドジョブ(Approval_OK)」

コマンドジョブ作成時のデフォルトの内容に以下の設定を加えます。

・待ち条件:承認ジョブが正常終了した場合に実行

・条件を満たさなければ終了するの終了状態:正常

・条件を満たさなければ終了するの終了値:0

 

20230628_05_承認ジョブOK01

 

・コマンド:1.でリポジトリに登録したノードをスコープに設定 起動コマンド(echo OK)を設定

 

20230628_06_承認ジョブOK02

 

●「承認ジョブの承認が通らなかった場合に実行されるコマンドジョブ(Approval_NG)」

コマンドジョブ作成時のデフォルトの内容に以下の設定を加えます。

・待ち条件:承認ジョブが異常終了した場合に実行

・条件を満たさなければ終了するの終了状態:正常

・条件を満たさなければ終了するの終了値:0

 

20230628_07_承認ジョブNG01

 

・コマンド:1.でリポジトリに登録したノードをスコープに設定 起動コマンド(echo NG)を設定

 

20230628_08_承認ジョブNG02

 

実行結果

ジョブを実行し、承認ジョブを承認する

先ほど設定したジョブユニット(JU01)を実行します。

 

20230628_09_ジョブ実行OK

 

ジョブユニット(JU01)を実行すると、承認パースペクティブに承認依頼が表示されるます。承認依頼をダブルクリックし、承認ボタンをクリックします。

 

20230628_10_承認依頼OK

 

ジョブ履歴パースペクティブのジョブ履歴[ジョブ詳細]ビューから、作成した以下のジョブがすべて正常終了していることが確認できます。

・ジョブユニット(JU01):正常

・承認ジョブ(Approval):正常

・コマンドジョブ(Approval_OK):正常

・コマンドジョブ(Approval_NG):正常

 

20230628_11_実行結果OK01

 

また、ジョブ履歴パースペクティブのジョブ履歴[ノード詳細]ビューから、以下のジョブで実行されたノードの終了状態がそれぞれ以下となっていることが確認できます。

・コマンドジョブ(Approval_OK):ノードの実行状態が終了

・コマンドジョブ(Approval_NG):ノードの実行状態が待機

 

20230628_12_実行結果OK02

 

ジョブを実行し、承認ジョブを却下する

・ジョブユニット(JU01)を実行します。

 

20230628_13_ジョブ実行NG

 

・ジョブユニット(JU01)を実行すると、承認パースペクティブに承認依頼が表示されます。承認依頼をダブルクリックし、却下ボタンをクリックします。

 

20230628_14_承認依頼NG

 

ジョブ履歴パースペクティブのジョブ履歴[ジョブ詳細]ビューから、作成した以下のジョブの終了状態がそれぞれ以下となっていることが確認できます。

・ジョブユニット(JU01):正常

・承認ジョブ(Approval):異常

・コマンドジョブ(Approval_OK):正常(条件未達成)

・コマンドジョブ(Approval_NG):正常

 

20230628_15_実行結果NG01

 

ジョブ履歴パースペクティブのジョブ履歴[ノード詳細]ビューから、以下のジョブで実行されたノードの終了状態がそれぞれ以下となっていることが確認できます。

・コマンドジョブ(Approval_OK):ノードの実行状態が待機

・コマンドジョブ(Approval_NG):ノードの実行状態が終了

 

20230628_16_実行結果NG02

 

おわりに

以上、簡単でしたが、実行条件を指定したジョブの連続実行のご紹介でした。ぜひ、日々の運用に活用してみてください。