ジョブ設定で注意すべきポイントまとめ
投稿日: / 更新日:
この記事は2年以上前に書かれたものです。情報が古い可能性があります。
こんにちは。
今日はHinemosのジョブ機能について、ジョブを設定する際に注意したい(筆者も設定する際に躓いた)ポイントについてご紹介いたします。
①ジョブの実行時間
ジョブを特定の時間に実行したい場合に、「待ち条件」タブで時間を指定し指定した時間にジョブを実行させる方法があります。
赤枠の【追加】ボタンを押し、待ち条件の編集ダイアログを開きます。
【時刻】を選択すると、時刻の待ち条件の設定項目が表示されます。
上の画像の通り、時刻の設定欄の例は【18:30:00】となっており、秒数まで設定できるのですが、実は秒数は設定しても意味がありません。。。
というのも、実際にジョブが開始するのはジョブの起動チェックが行われるタイミング(毎分00秒)だからです。
なので、例えば【10:00:30】にジョブが実行されるよう待ち条件を設定したとしても、実際にジョブが動く時間は次のジョブの起動チェック時間となる【10:01:00】になります。
実際に【10:00:30】にジョブが実行されるよう、待ち条件を設定しジョブユニットを実行してみます。
赤い枠線内にジョブの開始時刻が表示されていますが、【10:01:00】にジョブが開始されていることがわかるかと思います。
このように、ジョブは1分毎に起動するよう設定されているため、待ち条件によるジョブ実行時間の設定には注意が必要です。
②ジョブ実行後の設定変更
ジョブをスケジュール、または手動で実行した後にジョブの設定を変更した場合、設定は反映されるのでしょうか?
結論から言うと、ジョブの実行後に設定を変更した場合、変更した内容は反映されません。
以下、ユーザーマニュアル(ver.6.2 第二版)を一部抜粋します。
1 2 |
また、実行されるジョブは、ジョブセッション開始時の、ジョブの設定やノードの管理対象 状態に基づき、実行されます。 従いまして、ジョブセッション開始後に、ジョブの設定やノードの管理対象状態が変更されても、 開始されたジョブセッションには適用されません。(P378) |
ジョブはジョブセッションが開始した際のジョブ設定の情報を複製して保存し、その保存したジョブ設定を基にジョブを実行します。
そのため、ジョブ実行後に設定を変更しても、変更前の設定でジョブが実行されます。
実際に画面で確認してみます。
まずはじめに、待ち条件にジョブの終了状態を設定した後続ジョブを作成します。
このジョブは、待ち条件として設定しているジョブ(TEST_JOB)が正常の値で終了しなければ終了状態が「異常」となって実行せずに終了する、という設定になっています。
このジョブを手動で実行し待ち条件を設定したジョブが待機中の状態になっていることを確認した後、再度このジョブの設定画面を開き、待ち条件を以下のように変更します。
待ち条件の終了状態を「正常」から「*(終了状態関係なくジョブ自体が終了すれば可とする)」に変更してみます。
ジョブの実行結果を確認すると、待ち条件として設定しているジョブ(TEST_JOB)が異常終了しており、それに伴って後続のジョブ(TEST_JOB2)も条件未達成により異常終了していることがわかります。
また、ジョブの実行結果からジョブの設定を確認すると、待ち条件の値が変更前の「正常」に設定されており、変更内容が反映されていないことがわかります。
このように、ジョブの実行後は設定の変更が行えないため、システムの運用に関わるジョブなどの設定内容にはとくに注意が必要です。
③ジョブネットとジョブの繰り返し設定
ジョブネットとジョブには繰り返し実行が可能となる機能があります。
赤枠内の「ジョブを繰り返し実行する」にチェックを入れると試行回数と完了状態が変更できるようになります。
完了状態はジョブがどの終了状態になった際に繰り返し実行を終了するかを決めることができます。
完了状態は「空白(指定なし)」「正常」「警告」「異常」を選択することができ、「空白」を選択した場合はジョブの実行結果にかかわらずジョブを繰り返し実行します。
では、ジョブネットとジョブ両方で繰り返し実行の設定を行った場合はどのように動作するのでしょうか。
まずジョブネットに繰り返し実行を設定した後、ジョブネット内にコマンドジョブを作成します。
ジョブネットは試行回数を5、完了状態は空白に設定しました。
また、ジョブネット内のコマンドジョブにも「ジョブを繰り返し実行する」にチェックを入れ、試行回数を5、完了状態を空白に設定しました。
では、繰り返し実行を設定したジョブネットを実行し、どのようにジョブが繰り返し実行されるのか確認してみます。
これは、ジョブを手動実行させてから数十秒後のジョブ履歴です。
ジョブネットの実行回数が2回、コマンドジョブの実行回数が5回になっていることがわかるかと思います。
先程のジョブ履歴からさらに数十秒経過した時点でのジョブ履歴です。
ジョブネットの実行回数は5回となっており、実行回数が増えていますがコマンドジョブは1回と、実行回数が減っていることがわかります。
なぜ実行回数が減っているかというと、ジョブネットの実行が終わる毎にジョブの実行回数はリセットされるからなんです。
今回の場合はジョブネットとコマンドジョブ、両方ともに5回ずつ繰り返し実行するよう設定しているので、コマンドジョブが5回繰り返し実行される=ジョブネット繰り返し実行分(5回)のうちの1回が実行完了となります。
ジョブの繰り返し実行をジョブネット、そしてジョブネット内のジョブ両方に設定した場合は、ジョブネットの繰り返し実行の設定回数×ジョブの繰り返し実行の設定回数=実際にジョブが実行される回数、となるため、今回の場合はコマンドジョブが計25回実行されることになります。
このように、繰り返し実行が設定されているジョブネット内のジョブにも繰り返し実行を設定する場合は、実際にジョブ何回実行される設定になっているのか確認が必要となります。
今回はジョブ設定・実行時の注意点について3つまとめました。是非ともジョブ設定時の参考にしていただければと思います。
また機会があればジョブだけでなく、他の機能についても注意すべきポイントをご紹介していきたいと思います。
では、今回はこのあたりで失礼します!