依存関係の定義

依存関係とは、処理を進める前に満たされなければならない前提条件です。ジョブとジョブ・ストリームの両方に対して依存関係を定義して、処理の正しい順序を確実にすることができます。分散スケジューリング環境内では、以下のさまざまなタイプの依存関係から選択できます。
  • ジョブとジョブ・ストリームの正常な完了時: 後続という名前のジョブまたはジョブ・ストリームは、先行という名前の他のジョブとジョブ・ストリームが正常に完了するまで、処理を開始してはなりません。詳しくは、followsを参照してください。
  • ジョブとジョブ・ストリームによる特定の条件の充足時: 後続という名前のジョブまたはジョブ・ストリームは、先行という名前の他のジョブとジョブ・ストリームが、ジョブまたはジョブ・ストリームの状況、戻りコード、出力変数、またはジョブ・ログの内容に関連する可能性のある、特定の条件の1つ、すべて、またはサブセットを満たすまで、処理を開始してはなりません。先行ジョブが条件を満たしていない場合、それに関連付けられた条件付き依存関係を持つ後続ジョブはsuppress状態になります。標準の依存関係を持つ後続ジョブは、通常どおり評価されます。

    また、異なる先行ジョブに関連する条件付き依存関係を結合または集約して、単一の結合依存関係にすることもできます。結合には複数の依存関係が含まれますが、結合が充足されたと見なされるために、それらの依存関係のうちいくつが充足されなければならないかを決定します。結合では、無制限の数の条件付き依存関係、標準依存関係、またはその両方を定義できます。 環境内のすべてのコンポーネントがバージョン9.3 Fix Pack 1以降であることを確認してください。 この依存関係タイプは、Limited Fault-Tolerant Agent IBM iではサポートされていません。詳しくは、条件付き分岐ロジックの適用follows、およびjoin

  • リソース: ジョブまたはジョブ・ストリームは、実行を開始する前に、1つ以上のリソースを使用できる必要があります。詳しくは、needsを参照してください。
  • ファイル: ジョブまたはジョブ・ストリームは、実行を開始する前に、1つ以上のファイルにアクセスできる必要があります。詳しくは、opensを参照してください。
  • プロンプト: ジョブまたはジョブ・ストリームは、処理を開始する前に、プロンプトに対する肯定的な応答を待つ必要があります。詳しくは、プロンプト定義およびpromptを参照してください。

ジョブまたはジョブ・ストリームに対して最大40個の依存関係を定義できます。 40個を超える依存関係を定義する必要がある場合は、それらを結合依存関係にグループ化できます。この場合、結合は単に標準依存関係のコンテナーとして使用されるため、満たされていない標準依存関係は通常どおり処理され、結合依存関係が抑制されたと見なされる原因にはなりません。結合依存関係について詳しくは、条件付き依存関係の結合または組み合わせおよびjoinを参照してください。

ネットワークでは、依存関係はワークステーションの境界を越えることができます。例えば、ローカル環境site1で実行されるjob1を、リモート環境site2で実行されるjob2の正常な完了に依存させることができます。リモート・スケジューリング環境は、エンジン(コントローラー)または別のエンジン(マスター・ドメイン・マネージャー)のいずれかです。このような要件を実装する2つのタイプの依存関係があります:
インターネット・ワーク依存関係
これは、シンプルで分散型の実装です。以下の場合に、このタイプの依存関係を使用します。
  • ローカル環境が分散している。
  • リモート先行ジョブ・インスタンスを、現在リモート環境で実行されているプラン(実動プラン)でのみ検索する場合。
  • その特定の先行インスタンスではなく、リモート・プラン内の先行インスタンスを一致させる必要がある場合。
  • リモート・ジョブ状況の遷移について更新される前に、ポーリング間隔が期限切れになるのを待つことができます。
  • リモート環境がz/OSではなく分散しているかどうかに基づいて、異なる構文と構成を使用しても構わない場合。
  • リモート・エンジンとの通信に、独自の接続プロトコルを使用しても構わない場合。
詳しくは、インターネットワーク依存関係の管理を参照してください。
クロス依存関係
これは、より包括的で完全な実装です。以下の場合に、このタイプの依存関係を使用します。
  • ローカル環境は、分散またはz/OSのいずれかです。
  • リモート先行インスタンスを、リモート・エンジンで現在実行されているプランにまだ含まれていない、スケジュールされたインスタンスからも検索する場合。
  • リモート・エンジン・プラン内の正確なリモート先行インスタンスを一致させる場合。これを行うには、さまざまなすぐに使用できる一致基準を使用できます。
  • リモート・ジョブ・インスタンスが状況を変更するとすぐに、依存関係を更新する場合。これを行うために、製品はリモート・エンジンからローカル・エンジンへの非同期通知を使用します。
  • ローカル環境が分散しているかz/OSであるかに関係なく、同じ構文と構成を使用する場合。
  • リモート・エンジンとの通信に、HTTPまたはHTTPS接続を使用する場合。
詳しくは、相互依存関係の定義と管理を参照してください。