[CentOS6][SOS JobScheduler] JobChain をファイルトリガで実行


Create: 2013/02/27
LastUpdate: 2013/03/27
[ メニューに戻る ]

下図の環境で、依存関係のある複数のジョブをHost-A、Host-Bで順番に実行してみます。
環境の詳細を知りたい場合は、メニューに戻って構築手順を参照してください。


ここでは、上図のJOB1とJOB3を OrderJob で作成し、JobChain で依存関係を定義します。この JobChain がMangerサーバの特定ディレクトリを監視して、指定ファイルの存在を検知したら実行するようにしてみます。
手順については、「JobScheduler QuickStart (PDF)」を参考にしました。
JOEを使用してOrderJob、JobChainの定義とディレクトリ監視設定を行い、JOCを使用して実行結果確認を行います。
JOEの環境(ホットフォルダなど)は、「 [CentOS6][SOS JobScheduler] Host-A、Host-B で複数ジョブ(JobChain)の計画実行(即時)」 で作成したものを流用します。

1.ジョブとJobChain の定義


[CentOS6][SOS JobScheduler] Host-A、Host-B で複数ジョブ(JobChain)の計画実行(即時)」で作成したJobChainの "job_chain1"をコピーして "job_chain2" を作成してみます。
ジョブは、"job_chain1" と同じものを、そのまま使用します。
左側のメニューで、"job_chain1" を右クリックし、メニューから[Copy] を選択します。


[Job Chian]を右クリックして、メニューから [Paste] を選択します。
これで、"jon_chain1"と同じ定義の新しい JobChain が作成されます。


左側メニューで、新しく作成したJobChain をクリックして、[Chain Name]に "job_chain2" を入力します。


2.ディレクトリ監視の設定


まず、監視するディレクトリとファイルを定義します。
"job_chain2" の [Steps/Noads] をクリックすると下図のような画面が表示されます。
[New File Order Source] ボタンをクリックします。


[Diredtory]に監視するディレクトリ、[Regex]に、ファイル名(正規表現も可)を入力し、[Apply File Order Source]ボタンをクリックして確定します。
今回は、"/tmp/jobchain2_start.dat" をトリガファイルとして監視します。


次に、検知したトリガファイル(/tmp/jobchain2_start.dat)を以下のように処理するよう定義します。
  • 正常終了時は、トリガファイルを /tmp/backup ディレクトリへ移動
  • 異常終了時は、トリガファイルを削除
一覧で、[success] をクリックします。
[File Sin]をチェックして、[Move to]に "/tmp/backup" を入力し、[Apply Chain Node]ボタンをクリックします。


一覧で、[error] をクリックします。
[File Sin] をチェックして、[Remove File] をチェックし、[Apply Chain Node]ボタンをクリックします。


下図のように定義が終了したら、[フロッピーアイコン]をクリックして保存すると、ディレクトリ監視がスタートします。
これで、トリガファイルを検知したら JobChain が実行されます。


3.JobChain の実行


上記2で、ディレクトリ監視はスタートしています。
JOCで [Job Chains]タブを開くと、下図のように "job_chain2" が表示されます。


まず、正常終了時にトリガファイルを異動するディレクトリを作成します。
Manager サーバに jobs ユーザでログインして、以下のコマンドを実行します。
$ mkdir /tmp/backup
次に、トリガファイルを作成します。
$ touch /tmp/jobchain2_start.dat
これで、"job_chain2" が実行されます。

4.JobChain の実行結果確認


JOCで確認すると、下図のように、"job_chain2" が実行され、正常終了したことを確認できます。
[Show order history] をチェックして、[Show log] ボタンをクリックし、実行結果を見てみます。


下図は、"job_chain2" の実行結果です。


Manage サーバのトリガファイルは、定義どおり、/tmp/backup に移動されました。