2.3.14 サブジョブの保留
グリッドジョブ定義時に,特定のサブジョブに対してGUIから保留属性を設定できます。保留されたサブジョブは,GUIを使って保留属性の解除または再実行ができます。保留属性は,特定のグリッドプロパティのサブジョブにも設定できます。
- 〈この項の構成〉
(1) サブジョブに対する保留属性の設定
グリッドジョブ定義時に,特定のサブジョブに対して保留属性を設定できます。サブジョブの保留属性が有効の場合にグリッド実行ジョブを実行すると,サブジョブの実行が保留されます。保留されたサブジョブは,[サブジョブ一覧表示]ウィンドウで保留属性を解除したあとにグリッド実行ジョブを再実行することで実行できます。グリッドジョブ定義時に指定した保留属性は保存され,グリッドジョブの新規実行ごとにサブジョブの実行が保留されます。
サブジョブの保留属性は,[サブジョブ保留定義]ダイアログボックスで設定します。[サブジョブ保留定義]ダイアログボックスの詳細については,7章の「[サブジョブ保留定義]ダイアログボックス」を参照してください。
(2) 特定のグリッドプロパティのサブジョブに対する保留属性の設定
特定のグリッドプロパティのサブジョブに対する保留属性の設定では,グリッドジョブネットを実行中に,サブジョブに対して保留属性の設定,解除,初期化ができます。実行登録されたグリッド実行ジョブに対して,[サブジョブ一覧表示]ウィンドウでサブジョブの状況を確認し,サブジョブごとに保留属性を設定できます。設定できる保留属性は,最大4095個です。なお,実行中のグリッド実行ジョブに対しては,サブジョブ保留属性を操作できません。
各保留属性に適した場面を次の表に示します。
保留属性の機能 |
機能を適用する場面 |
---|---|
サブジョブ保留属性の設定 |
特定グリッドプロパティ(グリッド実行ジョブ)のサブジョブに保留属性を設定します。ジョブ実行後の再実行時などに特定グリッドプロパティのサブジョブの実行を保留する(実行させない)場合に使用します。 |
サブジョブ保留属性の解除 |
特定グリッドプロパティ(グリッド実行ジョブ)のサブジョブの保留属性を解除します。ジョブ実行後の再実行時などに特定グリッドプロパティのサブジョブを保留しないで実行したい場合に使用します。 |
サブジョブ保留属性の初期化 |
特定グリッドプロパティ(グリッド実行ジョブ)のサブジョブの保留属性を初期化します。ジョブ実行後の再実行時などに,特定グリッドプロパティのサブジョブの保留属性をグリッド実行ジョブ開始時の属性に戻したい場合に使用します。 |
(3) 保留属性が設定されたサブジョブを含むグリッドジョブの実行
サブジョブに保留属性を設定する手順,およびそのサブジョブを含むグリッドジョブの実行プロセスを次に示します。
- サブジョブへ保留属性を設定する手順
-
-
[グリッド実行定義]ダイアログボックスで,[保留設定]の[設定]ボタンをクリックする。
[サブジョブ保留定義]ダイアログボックスが表示されます。
-
[サブジョブ保留定義]ダイアログボックスで,保留属性を設定するサブジョブを選択する。
-
[保留属性設定]ボタンをクリックする。
選択したサブジョブに保留属性が設定されます。
保留属性のサブジョブを含むグリッドジョブの後続グリッド実行ジョブを実行する場合は,ジョブ定義の終了判定で終了コード10でも継続実行できるように設定します。異常しきい値に10を設定することで,保留サブジョブを含むグリッドの終了状態は警告終了状態(アイコンが赤くなる)となります。そのため,保留属性を解除する際に対象となるグリッドジョブを容易に特定できます。
-
- グリッドジョブの実行プロセス
-
サブジョブに保留属性を設定した場合のグリッドジョブの実行プロセスを次の図に示します。
図2‒30 サブジョブに保留属性が設定されているグリッドジョブの実行プロセス 図に示すグリッドジョブの実行プロセスの詳細を次に示します。
-
グリッド実行ジョブ定義時に,サブジョブごとに保留属性を定義する。
-
1つ目のグリッド実行ジョブ(GJ1)が実行される。
-
2つ目のグリッド実行ジョブ(GJ2)が実行される。
このとき,[サブジョブ保留定義]ダイアログボックスで保留属性を設定されたサブジョブは保留状態となります。このサブジョブを含むグリッド実行ジョブの終了コードは10となります。
-
3つ目のグリッド実行ジョブ(GJ3)が実行される。
保留状態となったサブジョブの後続サブジョブは,先行グリッドジョブの実行結果を参照するよう指定されている場合に保留スキップ状態(SKIP_H)となります。先行グリッドジョブの実行結果を参照するかどうかは,[グリッド実行定義]ダイアログボックスの[先行グリッドジョブ実行結果]で指定します。[グリッド実行定義]ダイアログボックスの詳細については,7章の「[グリッド実行定義]ダイアログボックス」を参照してください。
なお,保留状態のサブジョブが存在しても,後続のグリッドジョブを実行したい場合は,グリッドジョブ定義の終了判定で終了コード10でも継続実行できるように設定する必要があります。ただし,グリッド終了ジョブまで実行すると保留解除や再実行ができなくなります。そのため,最後のグリッド実行ジョブは終了コード10で継続実行されないように設定する必要があります。
-
(4) 保留属性が設定されたサブジョブまたはグリッドジョブの実行結果
サブジョブに対して保留属性が設定されている場合,グリッドジョブ実行後のサブジョブは,[サブジョブ一覧表示]ウィンドウのサブジョブリストにサブジョブが保留状態(HOLD)として表示されます。また,先行サブジョブが保留状態のために実行しなかったサブジョブは,保留スキップ状態(SKIP_H)として表示されます。このとき,[サブジョブ一覧表示]ウィンドウのサブジョブ情報部には,保留状態および保留スキップ状態となったサブジョブ数が表示されます。
サブジョブの保留状態は,gpjoblsコマンドまたはグリッドクライアントの実行結果からも確認できます。gpjoblsコマンドの詳細については8章の「gpjobls(グリッドジョブおよびサブジョブ状態表示コマンド)」を参照してください。[サブジョブ一覧表示]ウィンドウの詳細については,7章の「[サブジョブ一覧表示]ウィンドウ」を参照してください。
(5) サブジョブの保留解除
サブジョブS00001〜S00003を含むグリッドジョブに対し,サブジョブ(S00001)から保留属性を解除する手順,およびそのサブジョブを含むグリッドジョブの実行プロセスを次に示します。
- サブジョブの保留属性を解除する手順
-
-
2つ目のグリッドジョブの[サブジョブ一覧表示]ウィンドウを表示する。
-
保留属性を解除するサブジョブ(HOLD状態のサブジョブ)を選択し,[サブジョブ]−[保留属性解除]を選択する。
選択したサブジョブから保留属性が解除されます。
-
- グリッドジョブの実行プロセス
-
グリッドジョブの実行プロセスを次の図に示します。
図2‒31 サブジョブから保留属性が解除されたグリッドジョブの実行プロセス 図に示すグリッドジョブの実行プロセスの詳細を次に示します。
-
2つ目のグリッド実行ジョブ(GJ2)から再実行される。
グリッド実行ジョブを再実行すると,HOLD状態のサブジョブが実行されます。
-
3つ目のグリッド実行ジョブ(GJ3)が実行される。
SKIP_H状態のサブジョブが実行されます。
-
(6) 保留状態のサブジョブの再実行
保留状態のサブジョブを再実行するには,保留属性を解除します。保留属性が解除されると,そのサブジョブは実行対象となります。