2.4 さまざまなジョブネット定義
2.4.4 事象の発生を契機に処理を実行する(イベントジョブを使ったジョブ ネットの定義例)
イベントの受信やファイルの更新などのような事象の発生を契機に処理を実行させる場合は,イベントジョ ブを使ってジョブネットを定義します。
イベントジョブは,ネットワーク上のマネージャーホストおよびエージェントホストで発生した事象すべ てを監視対象にできます。イベントジョブの監視対象を次に示します。
図 2‒67 イベントジョブの監視対象
イベントジョブで監視する事象が検知されるタイミング
イベントジョブを使用する場合,イベントジョブを実行した時間と実際にイベントの受信監視ができる 状態になる時間とにタイムラグが発生することがあります。このタイムラグの間に発生したイベントは 検知できないため,イベントジョブを使ってジョブネットを定義する際は,このタイムラグを十分に考 慮する必要があります。
なお,JP1 イベント受信監視ジョブの場合は,この問題の解決策として実行前のイベント検索機能を使 用する方法があります。詳細については,「(1) JP1 イベントの受信を契機に処理を実行する(JP1 イベ ント受信監視ジョブ)」を参照してください。
不特定のタイミングで複数回発生するような事象をジョブネット実行の契機とする場合
不特定のタイミングで複数回発生するような事象をジョブネット実行の契機とする場合は,ジョブネッ トに起動条件を設定することを推奨します。起動条件の設定については,マニュアル「JP1/Automatic Job Management System 3 導入ガイド 3.4 起動条件の定義」を参照してください。
なお,監視する事象が計画的に発生することがわかっているような場合は,起動条件を使わないでイベ ントジョブをジョブネットの先頭に置くようにしてください。
イベントジョブに打ち切り時間を設定する場合
イベントジョブに打ち切り時間を指定した場合,打ち切り時間は実行先のエージェントホストで計られ ます。このため,監視中に実行先のエージェントホストが電源ダウンなどで再起動したあともイベント ジョブによる事象の監視が継続された場合,打ち切り時間は実行先のエージェントホストが再起動した 時刻から計り直されます。エージェントホストの状態に関係なく,ジョブ実行開始時刻からの絶対時刻 で監視を打ち切る場合は,ジョブネットの起動条件にイベントジョブを定義し,起動条件の有効範囲を 絶対時刻で指定してください。起動条件の詳細については,マニュアル「JP1/Automatic Job
Management System 3 導入ガイド 3.4 起動条件の定義」を参照してください。
また,打ち切り時間を設定した場合は,打ち切り時間経過後のイベントジョブをどのような状態として 扱うかを指定できます。「強制終了」,「正常終了」,「警告検出終了」,または「異常検出終了」から選べ ます。デフォルトは「強制終了」です。
これによって,イベントジョブの打ち切り時間経過後にジョブネットを中断または続行できます。
イベント情報の引き継ぎについて
イベントジョブで受信したイベント情報を変数(マクロ変数)として定義しておき,後続ユニットに引 き継ぐことができます。イベント情報の引き継ぎについては,「(6) イベントジョブの受信情報の引き 継ぎ」を参照してください。
イベントジョブを使ったジョブネットの定義例を紹介します。イベントジョブを使ったジョブネット定義 の詳細については,「7.6 イベントジョブ使用時の注意事項」もあわせて参照してください。
なお,メール受信監視ジョブは,JP1/AJS3 とプログラムとの連携が必要です。詳細については,マニュ アル「JP1/Automatic Job Management System 3 連携ガイド」を参照してください。
(1) JP1 イベントの受信を契機に処理を実行する(JP1 イベント受信監視ジョ ブ)
JP1 イベントとは,JP1/Base で管理される,JP1 シリーズプログラムで事象が発生するたびに発行される イベントをいいます。JP1 イベントは,エラー,警告,通知などの重大度やメッセージなどの情報を持っ ているため,エラーや警告イベントの受信や,特定のメッセージの受信を契機に後続ジョブやジョブネッ トを実行させることができます。また,JP1/Base のイベント変換機能を使って,JP1 シリーズ以外のアプ リケーションの終了を契機に後続ジョブやジョブネットを実行させることもできます。
JP1 イベント受信監視ジョブを実行する際は,実行前に JP1/Base イベントサービスを起動しておく必要 があります。JP1/Base イベントサービスの API 設定は「keep-alive」にしておいてください。起動され ていない場合,JP1 イベント受信監視ジョブはサービスが起動されるまで「実行中」状態のままとなります。
「hostA から JP1 イベントを受信したら,後続ジョブを実行する(ジョブネットを定義するホストを hostB とする)」というジョブネットを,JP1 イベント受信監視ジョブを使って定義する例を,次の図に示します。
図 2‒68 JP1 イベント受信監視ジョブを使ったジョブネットの定義例
JP1 イベント受信監視ジョブは,他ホストのジョブネットと連携できます。
hostA でジョブネットに JP1 イベント送信ジョブ(イベント ID:100)を定義します。hostA で発行した JP1 イベントを監視対象とするために,JP1 イベント受信監視ジョブの[イベント発行元ホスト名]に
「hostA」を設定します。また,hostA から JP1 イベントを受信した場合に後続ジョブを実行させるため に,[イベント ID]には「100」を設定します。
これによって,hostA でジョブネット中の JP1 イベント送信ジョブが実行されると,JP1 イベントの監視 が終了して,後続ジョブが実行されます。
なお,JP1 イベント受信監視ジョブを定義した場合,JP1 イベント受信監視ジョブが実行されてから実際 に JP1 イベント受信監視ができる状態になるまでにタイムラグが発生し,この間に発生した JP1 イベント は検知できません。この問題を解決するための機能として,実行前のイベント検索があります。
• 実行前のイベント検索
JP1 イベント受信監視ジョブが実際に JP1 イベントの受信を監視できる状態になる時点より前に発生し たイベントを検索し,該当したイベントがあった場合にそれをイベント発生と見なします。
図 2‒69 実行前のイベント検索
(2) ファイルの更新を契機に処理を実行する(ファイル監視ジョブ)
ファイル更新や新規ファイルの作成などを契機にジョブを実行するジョブネットの定義には,ファイル監 視ジョブを使用します。
ファイル監視ジョブで指定できる監視条件を次に示します。
監視条件
監視対象のファイルがどのような状態になったときに条件成立とするのかを指定します。監視条件は,
次の四つから設定できます。
• 指定したファイル名のファイルが作成されたとき
• 指定したファイル名のファイルが削除されたとき
• 指定したファイル名のファイルのサイズが変更されたとき
• 指定したファイル名のファイルの最終書き込み時刻が更新されたとき 補足事項
• ファイルの作成を監視条件とした場合に,ファイル監視ジョブが監視を開始した時点で指定した名 称のファイルがすでにあったとき,ファイル監視ジョブの監視条件を成立させるかどうかを指定で きます。
• 監視条件は複数指定できます。例えば,ファイルが削除または更新されたら後続ジョブを実行する ように定義する場合は,ファイルの削除と最終書き込み時刻変更を指定できます。ただし,ファイ ルのサイズ変更と最終書き込み時刻変更は同時に指定できません。
• 監視条件が成立する場合および成立しない場合の詳細については,「7.6.2(1) ファイル監視ジョブで 監視する事象」を参照してください。
• ファイルの作成,サイズ変更,および最終書き込み時刻変更の監視条件に合致した場合,監視対象 のファイルにファイル監視ジョブ以外のプロセスがアクセスしていないかチェックします。これを クローズチェックといいます。
監視条件に合致しても,ファイル監視ジョブ以外のプロセスが監視対象のファイルにアクセスして いた場合は条件成立となりません。その場合,次回の監視間隔に繰り越して監視し,そこでファイ ル監視ジョブ以外のプロセスのアクセスがなければ条件成立となります。
このクローズチェックをすることで,ファイルコピー中など転送中の監視対象のファイルが条件成 立となることを防ぐことができます。
「あるファイル(ファイル名:ファイル 1)の書き込み時間を監視し,ファイルが更新されたときに後続 ジョブを実行する」というジョブネットを,ファイル監視ジョブを使って定義する例を次の図に示します。
図 2‒70 ファイル監視ジョブを使ったジョブネットの定義例
ファイル監視ジョブに監視対象ファイル名と監視条件を設定します。[監視対象ファイル名]にはファイル 1 のパスを,[監視条件]には[最終書き込み時刻変更]を指定します。