[CentOS6][SOS JobScheduler] ジョブの<monitor>でイベントを生成するジョブ


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