• 検索結果がありません。

JobScheduler qucik start

N/A
N/A
Protected

Academic year: 2018

シェア "JobScheduler qucik start"

Copied!
21
0
0

読み込み中.... (全文を見る)

全文

(1)

J o b S c h e d u l e r

ク イ ッ ク ス タ ー ト ガ イ ド

Rev. 1.0

2013/6/10

(2)

改版履歴

版数 更新日 改版内容 備考 更新者

1.0 2013/6/10 新規作成 初版 船井

(3)

目次

1. は じ め に ... 4

2. JOBSCHEDULER の 機 能 ... 4

2.1. 機能構成 ... 4

2.2. ジョブ実行機能 ... 5

2.3. API ... 6

2.4. その他の機能 ... 6

3. JOB 登 録 ... 6

3.1. JOB の種類 ... 6

3.2. JOB の登録方法 ... 7

3.2.1. JOE での登録方法 ... 7

3.2.2. CLI での登録方法 ... 8

3.2.3. JOB 登録の確認 ... 8

3.2.4. JOC での確認方法 ... 8

3.2.5. CLI での確認方法 ... 8

3.3. JOB C

HAIN

の登録 ... 9

3.3.1. Order JOB の登録方法 ... 9

3.3.2. JOB Chain の登録方法 ... 10

3.3.3. JobChain の依存関係の表示 ... 11

3.4. JOB 実行方法 ... 12

3.4.1. JOB の直接実行 ... 12

3.4.2. Folder Sync での実行 ... 14

3.4.3. カレンダー指定での実行 ... 15

3.4.4. パラメータの設定 ... 19

3.4.5. エラー制御 ... 19

(4)

1. は じ め に

本 書 は 、オ ー プ ンソー スの ジョブ 管 理 システムで あ る、独 SOS 社 (Software- und Organisations-Service GmbH JobSchedulerを使用したジョブ作成について概説する。

2. JobScheduler の 機 能

2.1. 機能構成

JSではジョブ管理オブジェクトとして、

Job

Job Chain

・ Order

Schedule

・ Process class

・ Lock

Event

という単位で管理しており、全ての構成はXMLファイルで管理 されている。

全 て の 構 成 フ ァイ ル は 、「ホ ットフ ォ ル ダ 」(./config/live)に 保 存 される。これらの構成ファイルの変更は、JS を再起動する事無 く 動 的 に 反 映 さ れ る 。 オ ブ ジ ェ ク トの 作 成 、 変 更 、 管 理 は 、JOE

を使用するか、直接XMLファイルをテキストエディタで編集する事も可能である。

Jobには、

・ Stand alone Job

Order Job 2種類がある。

Order Jobは複数のJobを束ねるJob Chainで使用され、Order によって実行される。

Job Chainの制御単位はNodeであり、NodeOrder Jobが紐づ けられ、Order Job の実行結果の State によって次のステップの Order が定義される。

!"#$%&'

(!"')

(!")*+,-.') /01$0') 2%+$134$')

5!%6')

78$.&') '9!!4$0

&,'6 '&,&3'

/01$0) :3$

78$.&)90!%$''!0 03.;<=$

!"#$%

%!"#%&'()*$%

+,(*-(."*/%!"#% 01-/1%!"#%

01-/1% +2'/-3./$%

4"25$% 67/*,$%

%

%

%

%



%

%

%

%

%

%

%

%

%



(5)

Job Chain は 、 複 数 の Order Job を 束 ね た も の で 、 組 み 込 ま れ た Order Job を 順 に 実 行 す る 。 Order Jobは異なるJob Chainで 共 用 で き る が 、 環 境 変 数 は 共 用 で きない。

Superordinate job chainsは、複 数のJob Chainを束ねたものだが、 3階層以上は組み込めない。 Job ChainはOrderによって起動 され、Order Job の実行結果によ って、次に実行するOrder Jobを 切り替えるといった設定ができる。 OrderJob Chainの実際の実 行 命 令 で あ り 、 例 え ば あ る Job Chainを違うパラメータで2つ起動したい場合は、2つのOrderを作って、それぞれにパラメータを指定する。Orderに は実行スケジュールも個別に指定することができ、同時に複数実行する事も可能である。

Job Chainは複数のStateで構成され、Stateごとに実行するOrder Jobが紐付く。そして、Job Chainの最後に終了 Stateがある。Orderがstate1に入ると、Order Job 1が実行される。Order Job1が正常終了すると、Orderはstate2 に遷移し、state2ではOrdered Job2が実行される。

もしOrder Job2が異常終了した場合、OrdererrorというStateに遷移する。Orderがくり返し実行されるように設定 されている場合は、最初のStateに移り、次の実行タイミングを待つ。

あるStateで実行したOrder Jobが異常終了した場合、すぐにerror Stateに遷移させずに、リトライ(JobScheduler ではSetbackと呼ぶ)したり、サスペンドさせておいたりすることができる。

Setbackでは実行回数や待ち時間を設定できる。サスペンドは、ユーザがレジュームの操作をするまでJob Chainの実 行を停止する。

2.2. ジョブ実行機能

JS でのジョブの実行は、マニュアルでの即時実行、カレンダによる計画実行、メールの受信やファイルの受信などによる イベント実行が可能である。

カレンダによる計画実行は、平日、休日、特定の休業日、毎週/毎月の特定日、など柔軟に指定でき、実行日が休業日 や特定日の場合、実行日時を翌営業日、前の営業日、または実行中止を指定できる。

イベント実行では、ホットフォルダに作成/更新されたファイルを監視し、自動的にジョブ起動、ファイルを移動/リネーム

/削除/処理対象外に指定できる。また、メールの受信や、任意のプログラムやスクリプトでジョブを制御する事も可能で ある。

!"#$"%&'(%)%

*+,+$-)% .$/+01+,+$-2%

!"#$"% 34$

+,15 

!"#$") *+,+$%)

実行中

!"#$"%&'(%2%

*+,+$-2% .$/+01+,+$-$6#%

待機中

!"#$"%&'(%)%

*+,+$-)% .$/+01+,+$-2%

!"#$"% 34$

+,15 

完了

!"#$"%&'(%2%

*+,+$-2% .$/+01+,+$-$6#%

実行中

!"#$"%

34$

!"#$") *+,+$%2

!"#$"% 34$

76#%.'#$%

*+,+$-$6#%

76#%.'#$%

*+,+$-$6#%

&'(%89,:6%

&'(%89,:6%

76#%.'#$%

*+,+$-$""'"% *+,+$-$""'"%76#%.'#$%

76#%.'#$%

*+,+$-$""'"% *+,+$-$""'"%76#%.'#$%

; 

< 

(6)

またジョブ 実 行 時 間 を制 限 す るタイムスロット機 能 、実 行 優 先 順 位 を制 御 す るプ ライオ リティ機 能 、ジョブ の 排 他 制 御 の た めのロック機能、複数ジョブの同時並行実行を制御するシンクロナイズ機能、ジョブ実行エラー時の再実行を制御 するセ ットバック機能等、柔軟なジョブ実行制御機能を備えている。

2.3. API

JSでは、外部プログラムからのジョブ制御を可能にするため、2種類のAPIを備えている。

内部APIは、Java, JavaScrip, Perl, JScript, VBScript, Powershell, javax.scriptのプログラムからJobScheduler Engineの機能を呼び出し、実行できる。

外部APIは、XML形式によりRESTまたはコマンドラインからジョブの実行制御、実行状況の取得が可能である。 2.4. その他の機能

ジョブ定義の中からJDBC接続によるサポートされているDBMSへ直接SQLを発行しアクセス可能である。 ユーザ認証は、ldap等の外部認証機構が利用可能。

外部アプリケーション連携として、イベントのメール送信、Nagios への監視プラグイン、ジョブ実行レポート作成のための JasperReportsテンプレートが用意されている。

3. JOB 登 録

3.1. JOBの種類

JOBの登録方法は以下の手順で行う。

登録したJOBの情報は、$CONF_DIR/config/liveの下に任意のフォルダを作成し、その配下に保存される。 本書では、quickstartフォルダを予め作成しておく。

また 、Job に は 以 下 の 2種 類 が あり、そ れ ぞ れ 用 途 が 変 わ る。

Standalone Job :単 独 の JOB として 登 録 さ れるため、Job Chain用のJOBにはならない。 Order Job Job Chain用のJOBとし て登録される。

ジョブを実行

実行状況の監視 実行登録

!"#定義ファイルを、$%&'フォルダに保存する

!"#()*+%,の定義 必要に応じて!"#()*+%,を作成する

-.,/01'定義

!"#の実行スケジュールを定義

!"#の定義

!"#の内容を定義

(7)

3.2. JOBの登録方法 3.2.1. JOEでの登録方法

1) JOEにより、quickstartフォルダを開く。

2) Jobsを選択し、右メニューのNew Standalone Jobを選択する。

3) 追加されたJOBを選択し、各項目を修正する。

Job Name :JOB名を修正する。 Job Title :任意の内容

Process Class:JOBを実行するホスト/グループ Language :スクリプト言語を選択する。 Script :スクリプト

を入力する。

(8)

4) FileメニューのSaveにより保存する。(もしくは、CTRL+s) 3.2.2. CLIでの登録方法

$CONF_DIR/config/live/quickstartの下にJOB定義ファイルをコピーする。

JOB定義ファイル例> ファイル名 :firstjob.job.xml

<?xml version="1.0" encoding="ISO‐8859‐1"?> 

<job > 

    <params /> 

    <script  language="shell">          <![CDATA[ 

#!/bin/sh 

echo “$SCHEDULER_JOB_NAME is running”  echo “Current Timestamp `date`”  exit $? 

        ]]>      </script>   

</job> 

3.2.3. JOB登録の確認

JOEもしくはCLIからジョブ定義ファイルをホットフォルダに保存すると、JOB登録は自動で行われる。(デフォルト 60秒以内)手動でJOB登録する場合は、JOCから上部メニューのリフレッシュボタンをクリックし、左側のジョブパネ ルに登録したJOBが表示される事を確認する。

3.2.4. JOCでの確認方法

JOCJobsタブのquickstartフォルダを展開する事により確認する。 3.2.5. CLIでの確認方法

$CONF_DIR/config/live/quickstartの下にJOB定義ファイルがあるかを確認して、1分以上経過した事を確認す

(9)

る。

3.3. JOB Chainの登録

Job Chainに登録できるのは、Order Jobだけのため、まずOrder Jobを登録する。 3.3.1. Order JOBの登録方法

(1) JOEでの登録方法

1) JOEにより、quickstartフォルダを開く。

2) Jobsを選択し、右メニューのNew Order Jobを選択し、追加されたJOBを選択する。

3) 各項目を修正する。

Job Name :JOB名 Job Title :任意の内容 Process Class:JOB を実 行するホスト/グループ Language : ス ク リ プ ト 言 語を選択する。

Script :スクリプト

4) File メニュー のSaveにより保存する。

(もしくは、CTRL+s

(10)

(2) CLIでの登録方法

$CONF_DIR/config/live/quickstartの下にJOB定義ファイルをコピーする。

Order JOB定義ファイル例> ファイル名 :firstoderjob.job.xml

<?xml version="1.0" encoding="ISO‐8859‐1"?> 

<job  order="yes" stop_on_error="no">      <script  language="shell"> 

        <![CDATA[ 

#!/bin/sh  LANG=c 

echo "$SCEDULER_JOB_NAME processed $SCHEDULER_ORDER_ID"  echo "Current Timestamp:  `date`" 

exit $?          ]]>      </script>   

    <run_time /> 

</job> 

3.3.2. JOB Chainの登録方法

1) JOEにより、quickstartフォルダを開きます。

2) Jobs Chainを選択し、右メニューのNew Job Chainボタンを選択する。

(11)

3) Steps/Nodesを選択し、右画面のNew Cahin Nodeボタンを選択する。 4) 各項目を入力する。

State:ステータス名を 入力する。

Job : Order Job を 選 択する。

Next State:次に実行 す る Node を 指 定 す る。

Error State:エラーの 場合に実行する Node もしくは Stateを指定 する。

5) Apply Chain Nodeにより登録する。

6) Job Chainで実行するNodeを3)∼5)を繰り返して登録する。 7) FileメニューのSaveにより保存する。(もしくは、CTRL+s) 3.3.3. JobChainの依存関係の表示

1) JOC か ら ジ ョ ブ チェーンタブを選択する。

2) 表 示 し た い JobChainのジョブチェーン メ ニ ュ ー を ク リ ッ ク し 、 「 ジ ョ ブ フロー表示」を指定する.

3) 新しいブラウザタブ

(12)

が開き、JobChainがグラフィック表示される。

3.4. JOB実行方法

3.4.1. JOBの直接実行

3.4.1.1. Standalone JOBの 実 行 1) JOCからジョブタブを選択する。 2) 実行したいJOBを指定する。

(13)

3) 開始するJobのジョブメニューをクリック 4) タスク即時実行を選択し実行する。

3.4.1.2. JOB Chainの 実 行

1) JOCからジョブチェーンタブを選択する。 2) 実行したいJOB Chainを指定する。

3) 右ウィンドウの実行したいJob Chainのジョブチェーンメニューをクリック 4) オーダー作成を選択し実行する。

(14)

5) オーダーIDを入力する。入力しなければ自動的に割り当てられる。 6) 開始時刻が[now]となっている事を確認して、[ok]ボタンをクリックする。

3.4.2. Folder Syncでの実行

1) JOCからJob ChainsNodeを選択する。

2) 右の画面から、New File Order Sourceボタンを選択する。 3) モニタするディレクトリとファイルを指定する。

Directory :ディレクトリを指定する。

Reglex :モニタするファイル名を指定する。(正規化表現指定可)

(15)

4) Apply File Order Sourceボタンを選択する。

5) FileメニューのSaveにより保存する。(もしくは、CTRL+s) 6) 指定されたファイルを更新するとJob Chainが実行される。

3.4.3. カレンダー指定での実行 3.4.3.1. 指 定 時 間 の 登 録 方 法

(1) 毎日定時に実行する。

1) Order JobRun Time内のEvery dayを選択する。 2) New Periodボタンを選択する。

3) Begin Time(必要であればEnd Time)に時刻を設定する。 4) Apply Periodを指定する。

5) FileメニューのSaveにより保存する。(もしくは、CTRL+s

(16)

(2) 毎週定時に実行する。

1) Order JobRun Time内のAny Weekdayを選択する。

2) Weekdayのプルダウンメニューから実行する曜日を選択し、Add Weekdayボタンをクリックする。

3) 追加した曜日を選択する。

4) Begin Time(必要であればEnd Time)に時刻を設定する。 5) Apply Periodを指定する。

6) FileメニューのSaveにより保存する。(もしくは、CTRL+s

(17)

(3) 毎月決まった日の定時に実行する。

1) Order JobRun Time内のDays in Monthを選択する。 2) Monthdayを指定してAdd Monthdayボタンを選択する。

3) 指定した日を選択する。

4) New Periodボタンを選択する。

5) Begin Time(必要であればEnd Time)に時刻を設定する。 6) Apply Periodを指定する。

7) FileメニューのSaveにより保存する。(もしくは、CTRL+s)

(18)

(4) 休日の指定方法

1) Order JobRun Time内のNon Working Daysを選択する。 2) YearMonthDayを入力しAdd Dateボタンを選択する。 3) 必要な日数分2)を繰り返す。

4) FileメニューのSaveにより保存する。(もしくは、CTRL+s

(5) 実行指定日が休日の場合、When Holidayプルダウンメニューから選択する。

Previous non-holiday :指定された日が休日だった場合に、直前の休日でない日に実行する。

Next non-holiday :指定された日が休日だった場合に、次の休日でない日に実行する。

Suppress execution :実行しない Ignore holidays :常に実行する

(19)

3.4.4. パラメータの設定

指定したスクリプトやモジュール内で使用するパラメータ(環境変数)を指定する。 1) JobParamaterを選択する。

2) Newボタンを選択する。 3) NameValueを入力する。 4) Applyで設定する。

5) 必要なパラメータの数だけ2)∼4)を繰り返す。

6) FileメニューのSaveにより保存する。(もしくは、CTRL+s

スクリプト内で参照する場合は、$SCHEDULER_PARAM_[PARAM-NAME]で参照可能。 例)

TestParmで設定した場合は、$SCHEDULER_PARAM_ TestParmで参照可能。

3.4.5. エラー制御

実行したJob ChainJOBがエラーになった場合の動作を指定する。 Job Chainの場合、指定できる動作は以下の4通りとなる。

・ JOB Chainを異常終了する。

・ JOB Chain内の異なるJOBを実行する。

・ JOBを繰り返して実行(リトライ)する。

・ Orderを停止する。

(20)

1) JOB Chainのエラーの定義

Order Job がエラーになった場合にリトライする場合は、Job ChainNode の設定で、On Error に setbackを指定する。

Error Stateに error を指定した場合はリトライ終了後Job Chainは異常終了し、Job Chainの違うJob を実行したい場合は、そのStateを指定する。

On Errorsuspendを指定した場合は、Job Chainは停止する。停止したJob Chainは、JOCから手 動で再開できる。

リトライする場合、Run Options内のSet Back Countで回数と間隔を指定する。

例)下図の例では、1回目のエラーでは、直ぐに繰り返し実行し、2回目以降は、繰り返し前に10秒待って から実行される。

(21)

5回繰り返してもエラーの場合は、JOBをエラー終了する。 2) JOBのエラーの定義

Standalone JOBでエラーになった場合の動作を定義する。

例)下図の例では、1回目のエラーでは、直ぐに繰り返し実行し、2回目以降は、繰り返し前に10秒待って から実行される。

5回繰り返してもエラーの場合は、JOBをエラー終了する。

以上

参照

関連したドキュメント

必要な食物を購入したり,寺院の現金を村民や他

MPIO サポートを選択すると、 Windows Unified Host Utilities によって、 Windows Server 2016 に含まれている MPIO 機能が有効になります。.

図 3.1 に RX63N に搭載されている RSPI と簡易 SPI の仕様差から、推奨する SPI

このアプリケーションノートは、降圧スイッチングレギュレータ IC 回路に必要なインダクタの選択と値の計算について説明し

Altera Nios II フォルダを展開し、Existing Nios II software build tools project or folder into workspace を選択します(図 2–9 を参 照)。.

2-2 再エネ電力割合の高い電力供給事業者の拡大の誘導 2-3 多様な再エネ電力メニューから選択できる環境の整備

2-2 再エネ電力割合の高い電力供給事業者の拡大の誘導 2-3 多様な再エネ電力メニューから選択できる環境の整備