Tech Sketch Bucket of Technical Chips by TIS Inc.

JobScheduler Tips -- パラメータ指定でジョブ実行 --

Pocket

この記事はeXcale Developer's Blogから移転されたものです。

eXcale 開発チームの冨樫です。

今回は JobScheduler のジョブに対して、パラメータを渡して実行する方法をご紹介いたします。ジョブ実行時に、毎回任意の値を指定したい場合に有効です。


今回ご紹介する内容の題目です

  • ジョブ定義の作成
  • パラメータを指定した実行
  • 動作確認

※ JobScheduler を実行する環境が整っていない場合は こちらのブログ で説明していますので、ご参照ください。

ジョブ定義の作成

ジョブ定義ファイルはその名の通り、実行したいジョブを定義するファイルです。詳細については こちらのブログ をご参照ください。

では早速ジョブ定義を作成していきましょう。
今回は、単純にジョブ実行時に指定するパラメータの値を表示するだけの処理を作成します。ジョブ定義のファイル名は <ジョブ名>.job.xml となるようにしてください。

ポイントとしては、ジョブ実行時に指定するパラメータが環境変数 SCHEDULER_PARAM_<パラメータ名> に設定されることです(今回の場合パラメータ名は NAME となります)。

ジョブ定義が作成できたら、$SCHEDULER_HOME/config/live/ 配下に移動し、JobScheduler にジョブ登録しましょう(動的に登録されます)。

パラメータを指定した実行

では実際にパラメータを指定して、ジョブを実行してみます。ブラウザから JobScheduler サーバにアクセスしてください。

http://サーバアドレス:4444/

実行方法については特に難しいことはありません。まず、作成したジョブが登録されていることを Jobs タブより確認します。登録されていない場合は画面右上の Update ボタンをクリックして画面を更新してください。

登録したジョブを右クリックし、Start task parametrized を選択してください

以下のようなウィンドウが表示されるので name 項にはパラメータ名 NAME を入力し、value 項にはなんでも良いので何か値を入力してください。入力が完了したら submit ボタンをクリックしてください。

Enter a start time 項には デフォルト値の "now" が設定されているため、すぐにジョブが実行されます。

動作確認

今回のジョブは標準出力にパラメータを出力しているため、標準出力先である実行ログを確認します。

実行したジョブをクリックし、

画面右側に表示される、Task History から実行履歴を選択してください。

先ほど実行したジョブのログが別ウィンドウで表示されるので、value 項に入力した値が表示されていることを確認してください。


最後に

今回はパラメータを指定してジョブを実行する方法をご紹介させて頂きました。ジョブの実行は多くの場合は自動で行いますが、任意の値を指定して実行させる場合も今回ご紹介した通り簡単に行うことができます。便利な機能なのでお役立てください。

エンジニア採用中!私たちと一緒に働いてみませんか?