同時実行ジョブと実行待ちジョブの数を、時刻によって変わる値に制限するとよい場合があります。フレキシブル スケジュールでは、システム タイムスタンプに基づいて、同じプロパティに対して異なるプロパティ値がロードされます。フレキシブル スケジュールは次のプロパティでサポートされています。
- jobExecutionCoordinator.maxConcurrentJobs
- jobExecutionCoordinator.maxQueuedJobs
- agent.maxConcurrentTasks
フレキシブル スケジュールに対して、次の形式を使用して時間単位の値の範囲を指定できます: <property name>.<hour> = value。<hour>の数値は24時間形式で指定します。例えば、午後3時と指定するには15と入力します。
daemon.propertiesファイルでフレキシブル スケジュールが使用される場合は、jobExecutionCoordinator.maxConcurrentJobsまたはjobExecutionCoordinator.maxQueuedJobsのデフォルト値により、毎日午前0時から使用される値が指定されます。時間単位の値が指定された場合(jobExecutionCoordinator.maxConcurrentJobs.2など)、指定された次の時間単位の値まで、または午前0時に次の日が始まるまで、その値が有効になります。
例えば、同時実行タスクの最大数が午前0時から午前2時までは20、午前2時から午前5時までは25、午前5時から午前0時までは5になるようにスケジュールすると仮定します。この場合、午前0時に次の日が始まると、値は20に戻ります。値は次のように設定します。
jobExecutionCoordinator.maxConcurrentJobs =20 jobExecutionCoordinator.maxConcurrentJobs.2=25 jobExecutionCoordinator.maxConcurrentJobs.5=5
フレキシブル スケジュールは、agent.propertiesファイルのagent.maxConcurrentTasksパラメータについても同様に動作します。次の例では、エージェントは、午前0時から午前5時までは最大10個のジョブを同時実行でき、午前5時から次の日の午前0時までは最大5個のジョブを同時実行できます。
agent.maxConcurrentTasks=10 agent.maxConcurrentTasks.5=5