[CentOS6][SOS JobScheduler] イベントハンドラの設定


Create: 2013/03/20
LastUpdate: 2013/03/22
[ メニューに戻る ]

デフォルトの設定で JobSchedulerFullInstall をインストールするとイベントハンドラが使用できません。
インストール時に、下図の [Configure JobScheduler as event handler] をチェックしていない場合は、イベントハンドラは使用できません。


イベントハンドラが使用できるかどうかは、JOCでも確認できます。
下図の赤枠で示したジョブがなければ、イベントハンドラは使用できません。


後から、イベントハンドラを使用できるようにしたい場合は、イベントハンドラ関連の設定ファイルが必要です。
インストールをやり直すのが一番キレイなのですが、それがイヤなら、どこからか設定ファイルを持ってこないといけません。
後でわかったのですが、 「JobScheduler HowTo」 で、イベントハンドラ関連の設定ファイルがダウンロードできます。
"events_supervisor.zip" というアーカイブがあり、これがイベントハンドラ関連の設定ファイル一式です。
ちなみに、私は、これを使用してません。
私の場合、別環境にイベントハンドラを有効にしてJobSchedulerをインストールし、そこから、イベントハンドラ関係の設定ファイルをコピーしました。
正規の手順ではありませんが、別環境のJobSchedulerからコピーした方法を、参考までに紹介します。
[CentOS6] ジョブ管理 - SOS JobScheduler」 で構築した環境を前提とします。

イベントハンドラ関連の設定をコピー


まず、Manage サーバに jobs ユーザでログインしてイベントハンドラのジョブ定義をコピーします。
必要なディレクトリとファイルは以下のとおり。
$ find /home/jobs/sos-berlin.com/jobscheduler/scheduler/config/live/sos/events/
/home/jobs/sos-berlin.com/jobscheduler/scheduler/config/live/sos/events/
/home/jobs/sos-berlin.com/jobscheduler/scheduler/config/live/sos/events/scheduler_event_service,event_processor.order.xml
/home/jobs/sos-berlin.com/jobscheduler/scheduler/config/live/sos/events/scheduler_dequeue_events.job.xml
/home/jobs/sos-berlin.com/jobscheduler/scheduler/config/live/sos/events/scheduler_event_service.job_chain.xml
/home/jobs/sos-berlin.com/jobscheduler/scheduler/config/live/sos/events/scheduler_event_service.job.xml
次に、supervidor 関連の設定をコピーします。もしかしたら必要ないかもしれませんが念のため。。。。
必要なディレクトリとファイルは以下のとおり。
$ find /home/jobs/sos-berlin.com/jobscheduler/scheduler/config/remote
/home/jobs/sos-berlin.com/jobscheduler/scheduler/config/remote
/home/jobs/sos-berlin.com/jobscheduler/scheduler/config/remote/_all
/home/jobs/sos-berlin.com/jobscheduler/scheduler/config/remote/_all/sos
/home/jobs/sos-berlin.com/jobscheduler/scheduler/config/remote/_all/sos/events
/home/jobs/sos-berlin.com/jobscheduler/scheduler/config/remote/_all/sos/events/scheduler_dequeue_events.job.xml
JobScheduler を再起動します。
$ sudo service jobscdl stop
$ sudo service jobscdl start

イベントハンドラの動作確認


Manager サーバにjobsユーザでログインして、JobScheduler のコマンドを実行し、イベント追加、削除などをしてみます。
以下のようにコマンドを実行してイベントを追加します。
イベントクラス名は "test" 、イベントIDは "2"を指定します。
$ /opt/sos-berlin.com/jobscheduler/scheduler/bin/jobscheduler_event.sh -i 2 -e test -w add -h localhost -p 4444
Job Scheduler response:
OK

JOC を見ると、”scheduler_event_service” が自動的に実行されているのが確認できます。
[Show log]ボタンをクリックして実行結果を見てみます。


実行結果は下図のとおり。正常にイベントが追加されているのを確認できます。


今度は、コマンドでイベントの個数を調べてみます。
以下のようにコマンド実行して イベント数を表示します。
$ /opt/sos-berlin.com/jobscheduler/scheduler/bin/jobscheduler_event.sh -w check -h localhost -p 4444
1

上記で追加したイベントしかないので、イベント数は "1" と表示されました。
今度は、このイベントを削除します。
以下のようにコマンドを実行して、イベントクラス名が "test" のイベントを全部削除します。
$ /opt/sos-berlin.com/jobscheduler/scheduler/bin/jobscheduler_event.sh -e test -w remove -h localhost -p 4444
Job Scheduler response:
OK

再度、イベント数を調べます。イベント数が "0" ならOKです。
$ /opt/sos-berlin.com/jobscheduler/scheduler/bin/jobscheduler_event.sh -w check -h localhost -p 4444
0


■ 参考