ジョブ変数を利用して実行する後続ジョブを切り替える方法

作成日 2025/04/10

はじめに

Hinemosでは、ジョブの待ち条件として様々な条件や値を設定することが可能です。
今回は、その中のひとつであるジョブ変数と、マニュアル実行契機を利用したジョブの活用方法をご紹介します。

ジョブの概要

例えば、以下のようなジョブが存在するとします。

ジョブ構成

ジョブユニットA(JobUnitA)
 └ジョブA(JobA)
 └ジョブB(JobB)
 └ジョブBB(JobBB)

ジョブA…先行ジョブ
ジョブB…ジョブAの後続ジョブ①
ジョブBB…ジョブAの後続ジョブ②

こちらのジョブにて、ある時はジョブAの後続ジョブとしてジョブBを実行し、
別の時にはジョブAの後続ジョブとしてジョブBBを実行するなど、特定の条件で後続ジョブを切り替える運用を行う方法をご説明いたします。

マニュアル実行契機の作成

1.ジョブIDに以下の設定を入れます。

ジョブID:JobUnitA

2.ジョブ変数タブの[追加]ボタンをクリックし、ジョブ[ランタイムジョブ変数の作成・変更]ダイアログを開き、以下の設定を入れます。
名前:TEST
説明:後続ジョブ切り替え用
種別:選択(コンボボックス)
選択候補:(値:JobB 説明:ジョブBを後続ジョブで実行)
     (値:JobBB 説明:ジョブBBを後続ジョブで実行)

ランタイムジョブ変数設定

ジョブの作成

上記の例と同じ構造のジョブユニット、およびコマンドジョブを作成します。

それぞれのコマンドジョブに以下の設定を入れます。

・ジョブA
先行ジョブとして「sleep 1」など任意の起動コマンドを指定してください。

・ジョブB
待ち条件に以下の設定を入れます。

名前:ジョブ変数
判定値1:#[TEST]
判定条件:=(文字列)
判定値2:JobB

名前:ジョブ(終了状態)
ジョブID:ジョブA
値:*

[判定対象の条件関係]
AND

※起動コマンドは「sleep 1」など任意のものを指定してください。

ジョブBジョブ変数設定

「条件を満たさなければ終了する」にチェックを入れ、終了状態と終了値に以下を設定します。

終了状態:正常
終了値:0

ジョブ設定

・ジョブBB
待ち条件に以下の設定を入れます。

名前:ジョブ変数
判定値1:#[TEST]
判定条件:=(文字列)
判定値2:JobBB

名前:ジョブ(終了状態)
ジョブID:ジョブA
値:*

[判定対象の条件関係]
AND

※起動コマンドは「sleep 1」など任意のものを指定してください。

ジョブBBジョブ変数設定

「条件を満たさなければ終了する」にチェックを入れ、終了状態と終了値に以下を設定します。

終了状態:正常
終了値:0

ジョブの実行

それでは、実際にジョブを実行してみましょう。

・後続ジョブとしてジョブBを選択する場合

ジョブB実行
ジョブBの実行結果

ジョブAとジョブBが実行されました。

(ジョブBBは条件未達成で終了したため未実行)

 

・後続ジョブとしてジョブBBを選択する場合

ジョブBB実行
ジョブBBの実行結果

ジョブAとジョブBBが実行されました。

(ジョブBは条件未達成で終了したため未実行)

おわりに

このように、ジョブ変数と、マニュアル実行契機を組み合わせて利用することで、
特定の条件で後続ジョブを切り替える運用を行うことができます。