ジョブ数の制限について

監視フォルダーエンドポイントのジョブ数の制限が有効な場合、同時に処理できる監視フォルダーのジョブ数は制限されます。ジョブの最大数はバッチサイズ値によって決まり、監視フォルダーエンドポイントでも設定できます。ジョブ数の制限に達すると、監視フォルダーの入力ディレクトリにドキュメントが入ってもポーリングされません。また、このようなドキュメントは、他の監視フォルダージョブが完了し、別のポーリングが実施されるまで、入力ディレクトリに残ります。同期処理の場合、ジョブが単一のスレッドで連続処理されたとしても、1 回のポーリングで処理された全ジョブがジョブ数の制限に含められます。

注意: ジョブ数の制限がクラスターに合わせて調整されることはありません。ジョブ数の制限が有効である場合、クラスター全体で同時に処理するジョブの数がバッチサイズに指定されている数を超えることはありません。この制限はクラスター全体に及ぶものであり、クラスターの各ノードに固有のものではありません。例えば、バッチサイズが 2 の場合、単一のノードがジョブを 2 つ処理するとジョブ数の制限に達するため、どちらかのジョブが完了するまで他のノードは入力ディレクトリをポーリングしません。

ジョブ数制限の仕組み

監視フォルダーは、繰り返し間隔ごとに入力フォルダーをスキャンし、バッチサイズに指定されている数だけファイルを取得し、そのファイルごとにターゲットのサービスを呼び出します。例えば、バッチサイズがスキャンごとに 4 である場合、監視フォルダーはファイルを 4 つ取得し、呼び出し要求を 4 つ作成し、ターゲットのサービスを呼び出します。これらの要求が完了する前に、監視フォルダーを呼び出すと、前回の 4 つのジョブが完了しているかどうかに関係なく、再度 4 つのジョブを開始します。

ジョブ数の制限を有効にすると、前回のジョブが完了していない場合には、監視フォルダーが新たにジョブを呼び出さないようになります。監視フォルダーは、進行中のジョブを検出し、バッチサイズから進行中のジョブを差し引いた値に基づいて新しいジョブを処理します。例えば、2 回目の呼び出しを実行したとき、完了したジョブの数が 3 つで、まだ進行中のジョブが 1 つある場合、監視フォルダーはジョブを 3 つのみ呼び出します。

  • 監視フォルダーは、ステージフォルダーに存在しているファイルの数に基づいて進行中のジョブがいくつあるかを判断します。ステージフォルダーにファイルが未処理のまま残っている場合、監視フォルダーはそれ以上ジョブを呼び出しません。例えば、バッチサイズが 4 で、3 つのジョブが停止している場合、監視フォルダーは以降の呼び出しでジョブを 1 つのみ呼び出します。ステージフォルダーにファイルが未処理のまま残る原因として、いくつかのシナリオが考えられます。ジョブが停止している場合、管理者は Process Management の管理ページでプロセスを終了できるため、監視フォルダーはステージフォルダーからファイルを移動することができます。

  • 監視フォルダーがジョブを呼び出す前に LiveCycle サーバーがダウンした場合は、管理者がステージフォルダーからファイルを移動できます。詳しくは、失敗ポイントおよび回復を参照してください。

  • サービスが正しい順序で開始されず、Job Manager サービスのコールバックが発生したときに、LiveCycle サーバーは動作しているものの、監視フォルダーは動作していない場合は、管理者がステージフォルダーからファイルを移動できます。詳しくは、失敗ポイントおよび回復を参照してください。