Create: 2013/06/10
LastUpdate: 2013/06/10
ここでは下図の環境を使用します。
環境の詳細を知りたい場合は、メニューに戻って構築手順を参照してください。
JobChain をネストして、JobChainからJobChainを実行することができます。
ここでは、JobChainA → JobChainB を順番に実行する JobChain01 を定義してみます。
今回は、Managerサーバ上でJobChainを実行します。
手順は、「リファレンスマニュアル」を参考にしました。
1.テスト用のジョブ定義
"job01.job.xml" ファイルにテスト用のジョブを以下のように定義します。
<?xml version="1.0" encoding="ISO-8859-1"?> <job order="yes"> <script language="shell"> <![CDATA[ echo "$SCHEDULER_JOB_NAME processed $SCHEDULER_ORDER_ID" echo "Current Timestamp: `date '+%Y-%m-%d %H:%M:%S'`" echo "Current Hostname: `uname -n`" echo "Current Username: `whoami`" exit 0 ]]> </script> </job>
2.JobChainA と JobChainB の定義
上記1で作成したジョブを実行するJobChainを2つ定義します。
"job_chainA.job_chain.xml" と "job_chainA.job_chain.xml" のファイル名で以下のように定義します。
今回は、ネスト定義の動作確認をしたいだけなので、タイトル(赤字)以外は、同じ内容としています。
<?xml version="1.0" encoding="ISO-8859-1"?>
<job_chain orders_recoverable="yes" visible="yes" title="JobChainA">
<job_chain_node state="01" job="job01" next_state="02" error_state="error"/>
<job_chain_node state="02" job="job01" next_state="success" error_state="error"/>
<job_chain_node state="success"/>
<job_chain_node state="error"/>
</job_chain>
3.JobChain01 の定義
上記2で作成したJobChainA →JobChainB を順番に実行する JobChain を作成します。
"job_chain01.job_chain.xml" のファイル名で以下のように定義します。
<?xml version="1.0" encoding="ISO-8859-1"?> <job_chain orders_recoverable="yes" visible="yes" title="nest sample"> <job_chain_node.job_chain state="100" job_chain="job_chainA" next_state="200" error_state="error"/> <job_chain_node.job_chain state="200" job_chain="job_chainB" next_state="success" error_state="error"/> <job_chain_node.end state="success"/> <job_chain_node.end state="error"/> </job_chain>
4.動作確認
JOCで、JobChain01(job_chain01) を実行します。
JobChain01 が実行されると、まず、下図のように JobChainA が実行されます。
実行結果は、下図のとおり。
JobChain01 としてのログは見られません。
JobChainA と JobChainB は、それぞれのログを見ることができます。
また、JobChainA と JobChainB は、JobChain01 と同じ OrderID で実行されています。