最大同時タスク数について
TaskMan の負荷を過大にしないように、同時に実行するタスクの総数を制限できます。これは、次の 3 つのフィールドで設定できます。
- [イントラネット]フォームの[最大同時タスク数]と [最大同時レポートタスク数]
- [バックグラウンドタスク定義]フォームの [最大同時処理数]
[最大同時タスク数] フィールドは、現在のコンフィグレーションで一度に実行できる全てのタスク(レポートタスクも含む)の最大数を定義するために使用されます。タスクが提出されると、TaskMan は、現在実行中のタスクの総数がこの数より少ない場合のみ、そのタスクを処理します。
TaskMan が複数のコンフィグレーションを監視している場合は、各コンフィグレーションの最大タスク数を合わせたものが、この特定 TaskMan サービスが処理できる最大タスク数となります。例:
TaskMan が C1 と C2 の 2 つのコンフィグレーションを監視しています。C1 および C2
C1 の最大同時タスク数:10
C2 の最大同時タスク数:20
この TaskMan インスタンスの最大同時タスク数:10 + 20 = 30
- C1 で 10 タスクが同時に実行中の場合、C1 ではこれ以上タスクを実行できません。TaskMan は更に 20 タスクを処理できますが、C1 が限界に達しているからです。
- C2 で 20 タスクが実行されている場合、C2 ではこれ以上タスクを開始できませんが、C1 では最大 10 タスクまで開始できます。
[最大同時タスク数] フィールドは、現在のコンフィグレーションで一度に実行できるレポートプレビューまたはレポートタスクの最大数を定義するために使用されます。レポートまたはレポートプレビューが提出されると、TaskMan は、現在実行中のレポート/プレビューの総数がこの数より少ない場合のみ提出されたレポート/プレビューを処理します。
レポートタスクは全てのタスクのサブセットなので、[最大同時レポートタスク数] は、[最大同時タスク数] 以下であるはずです。タスク全体の数よりレポート数が多い場合、TaskMan は、レポート数を最大タスク全体数までに制限します。例:
最大同時タスク数:10
最大同時レポートタスク数:20
- 20 レポートを提出しても、10 レポートしか実行されません。これは、10 がタスク全体の最大数だからです。
- 20 レポートを提出し、 5 タスクが既に実行されている場合、ただちに処理されるのは 5 レポートだけです。
TaskMan が複数のコンフィグレーションを監視している場合は、各コンフィグレーションの現在実行中のレポートタスク数は、TaskMan の監視対象の各コンフィグレーションからの現在実行中のレポートタスクを加算することで計算されます。例:
TaskMan が C1 と C2 の 2 つのコンフィグレーションを監視しています。C1 および C2
C1 の最大同時レポートタスク数:10
C2 の最大同時レポートタスク:20
C1 で現在実行中のレポート数:5
C2 で現在実行中のレポート数:3
C1 で実行できるレポートタスク数:10 - (5 + 3) = 2
C2 で実行できるレポートタスク数:20 - (5 + 3) = 12
例:
[最大同時処理数] フィールドは、1 つの特定タスクを同時に実行できる回数を制限するために使用されます。例:
最大同時タスク数:10
最大同時レポートタスク数:5
ABCAnalysisRpt タスクの最大同時処理数:1
- 現在実行中のタスクがないとき ABCAnalysisRpt レポートタスクを 2 回提出すると、1 つの ABCAnalysisRpt レポートタスクだけがただちに処理されます。
- 現在実行中のタスクが 5 つあるとき ABCAnalysisRpt レポートタスクを提出すると、既に実行中の 5 タスクの 1 つが終了するまで ABCAnalysisRpt レポートタスクは実行されません。
- 8 つの一般タスクと 2 つのレポートタスクが実行中のとき ABCAnalysisRpt レポートタスクを提出すると、使用可能な 5 つのレポートタスクのうち、2 つだけが実行中であっても、ABCAnalysisRpt レポートタスクはすぐには実行されません。これは、全てのタスクの総数が満たされているからです。