2. ジョブストリームとは
l JobScheduler V.1.13から導⼊された機能
l 従来からあるジョブチェーンと同様に、ジョブ間の依存関係
を定義し⼀連のジョブを実⾏する
l BMC Control-Mとの互換性
l ジョブチェーンとの違い
l オーダーによる前⽅依存制御ではなく、イベントによる後⽅依存制御
l pre- and post-processing APIがないため、ジョブで定義する必要がある
l 並列実⾏-待合せ制御が、ジョブチェーンのsplit/sync or joinより⾼速
l 閉じない⼊れ⼦ツリーが可能
l 詳細は以下を参照
l https://kb.sos-berlin.com/display/PKB/Job+Streams
Copyright 2020(C) OSS Laboratories Inc. All Rights Reserved
3. ジョブストリームのオブジェクト
l イベントとグローバルイベント
l イベントは、ジョブの実⾏結果を知らせるために作成されるトークンです。(従来からあるイベントとは別物で
す)
l イベントは後続のジョブが実⾏されるかどうかの条件を評価するために使⽤されます。
l グローバルイベントはマスタークラスタ構成の間でジョブの実⾏のために共有されるイベントです。これらは別の
ジョブスケジューラーマスター上でジョブの実⾏結果を知らせるために作成されるトークンです。
l インコンディションとアウトコンディション
l ジョブは実⾏する条件(インコンディション)を複数持つことができます。これらの条件には、真(true)または偽
(false)になるように評価されるいくつかの条件式を含むことができます。評価結果が真であればジョブが開始さ
れ、偽であれば開始されずにそれ以降のジョブストリームの実⾏を保留(suspend)します。インコンディションの
条件式は、イベントの存在や特定のジョブまたはジョブチェーンの実⾏結果などを、AND/OR等の論理演算⼦で評価
することができます。
l ジョブはジョブ実⾏後に評価される複数のアウトコンディションを持つことができます。アウトコンディションに
は複数の条件式を持つことができ、評価結果に応じて後続ジョブのインコンディションで使⽤されるイベントを追
加または削除できます。
l アウトコンディションがもつ条件式は、イベントの存在や特定のジョブまたはジョブチェーンの実⾏結果などを、
AND/OR等の論理演算⼦で評価することができます。
l スターターとセッション(V.1.13.4以降)
l スターターはジョブストリームを開始するために使⽤します。スターターはランタイム設定に基づいてジョブスト
リームを開始、またはアクションメニューの “即時開始”操作を使って⼿動で開始することもできます。
l スターターはジョブストリームのセッションを作成します。各セッションにはそれぞれインスタンスIDが付与され、
イベントはセッション毎に作成されます。例えば、セッションAで作成されたイベントはセッションBからはアクセ
スできません。
l スターターは各ジョブストリームで複数作成でき、それぞれ必要ジョブと終了ジョブを設定できます。(V.1.13.5以
降)
l 必要ジョブが終了しない限りセッションは継続し、終了ジョブが終了するとセッションが終了します。
Copyright 2020(C) OSS Laboratories Inc. All Rights Reserved
4. ジョブストリームの使⽤
l デフォルトインストレーションではジョブストリーム機能は無効になっているので、以下を実施します
l JobSchedulerインストール時に有効化する場合
l GUIインストーラー︓step9で Enable Conditions-Pluginにチェックを⼊れる
l CLIインストーラー︓jobscheduler_install.xmlの以下のvalueをonに変更
<entry key="jobStreamsPlugin" value="on"/>
l JobSchedulerインストール後に有効化する場合
l /config/scheduler.xmlのコメントアウトされている以下の⾏を有効にして、マスター再起動
<plugin java_class="com.sos.jobstreams.plugins.JobStreamsPlugin"/>
l 共通
l /config/scheduler.xmlの以下の⾏は、ジョブストリームのセッションピリオド開始時間(UTC)なので、⽇本時間0時=UTC 15
時に変更しておく
<param name="sos.jobstream_period_begin" value="15:00"/>
Copyright 2020(C) OSS Laboratories Inc. All Rights Reserved
9. コンディション作成
l 未定義ジョブから次に起動するジョブをジョブスト
リーム表⽰パネルにドラッグアンドドロップすると、
コンディションエディターが開くので、インコン
ディションをクリックで追加します。
l 起動条件とコマンドリストを⼊⼒し保存します。
l 条件式構⽂については下記を参照
https://kb.sos-berlin.com/display/PKB/Expressions+for+Conditions+in+Job+Streams
l 次にアウトコンディションを追加をクリック。
l 作成するイベントと削除するイベントを⼊⼒します。
l グルーバルイベントにチェックすると、クラスタ構
成のマスター間でイベントを共有できます。
l セッション内でこれ以上使⽤しないイベントは、イ
ベント削除で指定します。
l 以下同様にジョブとコンディションを追加していき
ます。
Copyright 2020(C) OSS Laboratories Inc. All Rights Reserved
条件式ウィザード表⽰
条件式⼊⼒
コンディション条件式が成⽴(true)になっ
たら評価を停⽌する
ランタイム設定の実⾏時間外の場合、アウ
トコンディションを実⾏しない
実⾏コマンドを選択 パラメータを⼊⼒
複数のコマンドを実⾏する場合クリックして追加
条件式⼊⼒
条件式ウィザード表⽰
作成イベント名⼊⼒
複数の条件式を実⾏する場合クリックして追加
11. ジョブストリームの実⾏
l スケジュール実⾏︓スターターメニューでランタイムを設定
l 途中停⽌︓⽌めたいジョブメニューで「停⽌」を選択
l 途中から実⾏︓開始したいジョブメニューで「インスタンスでタスク開始」を選
択
l 途中ジョブをスキップ
l 以下を参照
l https://kb.sos-berlin.com/display/PKB/Run-time+of+jobs+in+a+Job+Stream
l スターターから時間差で複数ジョブ起動
1.相対時間での起動指定
l スターター編集画⾯で、他のジョブを追加をクリックし、起動したいジョブを追加し、ディレイ
(秒)を指定
l 例)スターターランタイム指定時間から1時間後に起動->3600
2.絶対時間での起動指定
l スターター編集画⾯で、他のジョブを追加をクリックし、起動したいジョブを追加し、ディレイ
(秒)を0で登録
l 起動したいジョブのランタイム設定を開き、周期追加で繰り返し間隔を「時間帯」で選択
l 開始〜終了の時間を、実⾏させたい時間帯で登録
Copyright 2020(C) OSS Laboratories Inc. All Rights Reserved