ジョブの実行制御②

作成日 2020/07/31
更新日 -

1.Hinemosのジョブ・ジョブネットの制御

ジョブの実行制御①では、多重度制御、同時実行制御、保留、スキップ、カレンダ制御等について説明しましたが、ジョブの実行制御②では、ジョブの終了状態・終了値、待ち条件、遅延監視について説明します。

 

ジョブの終了状態 ジョブ実行時に実行されるコマンドのリターンコードの範囲で指定できる状態のこと
ジョブの終了値 終了状態毎に、終了値を設定できる値のこと
待ち条件 条件を満たすまでジョブ・ジョブネットの起動を待ち続けること
開始遅延の監視 ジョブネットの実行開始が遅延している場合の制御を設定すること
終了遅延の監視 ジョブネットの終了が遅延しているか否かをチェックし、遅延している場合の制御を設定すること

 

 

2.終了状態・終了値

ジョブの実行結果には、終了した状態に応じて「終了状態」が付与されます。終了状態には、正常,警告,異常の3つの状態があり、ジョブ実行の場合は、ジョブとして実行されたコマンドのリターンコードを元に、終了状態を決定します。ジョブネット・ジョブユニットの場合は、ジョブネット・ジョブユニットの実行時に実行される全てのジョブ(もしくはジョブネット)の終了値に応じて終了状態を決定します。 ジョブ・ジョブネット・ジョブユニットの終了値は、終了状態によって決定します。

 

2.終了状態・終了値

 

ジョブやジョブネットの終了状態は、状態に応じたコマンド実行(パトランプ鳴動コマンドの実行など)の判断や、状態そのものをメール等で通知する、といった形で活用することができます。また、後続のジョブを開始する条件として、先行するジョブの特定の終了状態を指定することが出来ます。

 

 

3.待ち条件

待ち条件とは、指定した条件を満たすまでジョブ・ジョブネットの起動を待ち続ける機能です。待ち条件には、下記5つの条件を用いることができます。また、待ち条件は、複数の条件を組み合わせ、AND(どちらも)もしくはOR(どちらか)条件として用いることが可能です。

 

(1)時刻

時刻を待ち条件として指定すると、指定した時刻になるまでジョブ・ジョブネットは起動せずに待機します。

 

(2)セッション開始後の時間

セッション開始後の時間を待ち条件として指定すると、待ち条件を設定したジョブが含まれる一連のジョブセッションを開始した時刻から、指定時間が経過するまでジョブ・ジョブネットは起動せずに待機します。

 

(3)他のジョブ・ジョブネットの終了値/終了状態

ジョブ・ジョブネットの終了値/終了状態を待ち条件として指定すると、待ち条件として指定されたジョブ・ジョブネットの終了値/終了状態が条件を満たすまで、待ち条件を設定したジョブ・ジョブネットは起動せずに待機します。この待ち条件を使うと、待ち条件として指定されたジョブ・ジョブネットが終了するまで起動せずに待ち条件を設定したジョブ・ジョブネットは待機し順次実行されます。例として、「図.待ち条件」では以下の待ち条件が指定されています。

 

3.待ち条件

 

ジョブ2: ジョブ1の終了値:0もしくは終了状態:正常を待ち条件とし、ジョブ1の後続ジョブとして動作する。
ジョブ4: ジョブ3の終了値:0もしくは終了状態:正常を待ち条件とし、ジョブ3の後続ジョブとして動作する。
ジョブ6: ジョブ5の終了値:1もしくは終了状態:警告を待ち条件とし、ジョブ5の後続ジョブとして動作する。
ジョブネット3:ジョブネット2の終了値:0もしくは終了状態:正常を待ち条件とし、ジョブネット2の後続ジョブネットとして動作する。

 

なお、待ち条件として指定されたジョブ・ジョブネットの終了値/終了状態が条件を満たさない場合は、待ち条件を設定したジョブ・ジョブネットを即座に終了させることも可能です。

 

(4)ジョブ変数

ジョブ変数とは、ジョブユニット単位で設定することができる変数です。ジョブ変数は待ち条件の判定値として利用することが出来ます。 ジョブ変数には、予め設定した固定値の他に、待ち条件として指定されたジョブのコマンド実行結果(標準出力)を格納することが可能です。待ち条件を設定したジョブ・ジョブネットは、待ち条件として指定されたジョブのジョブ変数が指定された待ち条件を満たすと実行されます。

 

(5)セッション横断ジョブ

セッション横断ジョブを待ち条件として指定すると、異なるジョブセッションで実行されたジョブを待ち条件に指定することができます。 下記図「セッション横断ジョブ」のように、別のタイミングでジョブを実行した場合でも、別のセッションのジョブネット1にあるジョブ2が正常に終了したタイミングで、ジョブネット2にあるジョブ4を実行するといった設定ができます。

 

なお、待ち条件として指定されたジョブ・ジョブネットの終了値/終了状態が条件を満たさない場合は、待ち条件を設定したジョブ・ジョブネットを即座に終了させることも可能です。

 

終了状態:異なるジョブセッションで実行されたジョブ・ジョブネットの終了状態を待ち条件として指定できます。
終了値:異なるジョブセッションで実行されたジョブ・ジョブネットの終了値を待ち条件として指定できます。

 

セッション横断ジョブ

 

 

4.開始遅延の監視

開始遅延は、ジョブやジョブネットの実行開始が遅延している場合に、ジョブ・ジョブネットのスキップ/保留や、遅延通知を行う機能です。 開始遅延では、ジョブが指定した条件の時間内に起動できなかったことを検知します。この機能を利用すると、開始遅延の通知や、開始が遅延したジョブの状態を終了へ遷移させる (実行しない)といった設定が可能です。

 

管理対象システムのバックアップを行う先行ジョブと、再起動処理をする後続ジョブの例で開始遅延の利用方法を説明します。 管理対象システムのバックアップを実行する先行ジョブが想定よりも時間を要し、再起動処理をする後続ジョブの開始が遅れてしまい、サービスに影響を与えてしまうため、後続ジョブを実行したくないといった場合は、開始遅延を利用します。開始遅延の検知により、後続ジョブが指定した条件の時間内に起動できなかった事を検知して、後続ジョブの起動を自動制御(スキップ/保留)することができます。

 

 

5.終了遅延の監視

終了遅延は、ジョブ・ジョブネットの処理終了が遅延している場合に、ジョブ・ジョブネットの中断/コマンド停止や通知を行う機能です。終了遅延では、実行しているジョブが、指定した時間内などに終了しなかった時に検知します。開始遅延と同様に、検知した場合には、通知や、終了遅延が設定されたジョブを予め設定した終了状態へ遷移させる事が可能です。

 

例えば、先行ジョブが想定よりも時間を要し、処理実行の終了を待つ時間的猶予がなく、やむを得ず後続ジョブを実行させたい場合は、終了遅延を利用できます。

 

開始遅延は、想定した時間にジョブが開始されない場合に通知したり、開始を取りやめる (実行しない)ための仕組みですが、終了遅延は想定した時間にジョブが終了しない場合に通知したり、ジョブを強制的に終了させて後続ジョブを実行させる、といった場合に利用する仕組みとなります。

 

 

関連情報

 

 

 

お問い合わせ