Create: 2013/03/21
LastUpdate: 2013/03/27
下図の環境を使用します。
環境の詳細を知りたい場合は、メニューに戻って構築手順を参照してください。
JobChain では、シーケンシャルなジョブの連携しか定義できませんでしたが、
イベントを利用することで 下図のような複雑な条件のジョブ連携 が可能になります。
(図:JobSchedulerEventマニュアルから引用)
ここでは、ジョブの <monitor>でイベントを生成する機能だけを試してみます。
手順については、「JobScheduler Events(PDF)」を参考にしました。
1.StandaloneJob の定義
JOEで下図のようにジョブを定義します。
「JobSchedulerEventsマニュアル」はJavascriptのサンプルでしたが、試しにPerlのスクリプトで書き直しました。
perl スクリプトを使用する場合は、 環境設定 が必要になります。
生成するイベントの情報をパラメータで指定します。
ここでは、イベントクラスとイベントIDを設定します。適当な任意の値を設定します。
左側のメニューで[Pre-/Post-processing]を選択して、<monitor>のスクリプトを設定します。
イベントの生成には、JobSchedulerのJavaアプリケーションを使用します。
[Classname]には、"sos.scheduler.job.JobSchedulerSubmitEventMonitor" を設定します。
2.ジョブの実行
JOCでジョブを 実行 します。実行結果は下図のとおり。
Perlスクリプトの実行後に、イベントを生成しています。
Managerサーバに jobs ユーザでログインし、以下のようにコマンドを実行すると、イベントの数を確認できます。
この例では、イベント・クラスが "test" のイベントが1個あります。
$ sos-berlin.com/jobscheduler/scheduler/scheduler_home/bin/jobscheduler_event.sh -e test -w check -s localhost -r 4444 1イベントを削除したい場合は、以下のようにします。
この例では、イベント・クラスが "test" で イベントIDが "A" のイベントを削除します。
$ sos-berlin.com/jobscheduler/scheduler/scheduler_home/bin/jobscheduler_event.sh -i A -e test -w remove -s localhost -r 4444 Job Scheduler response: OK