Concurrency configuration: concurrencyConfig

更新时间:
复制 MD 格式

Configure concurrency limits for a pipeline to control how many pipeline instances and task instances can run simultaneously.

Example

concurrencyConfig:
  maxRunningPipelineInstances: 1
  pipelineMaxRunningBehavior: preemptOldest
  maxRunningJobInstances: 100

Details

concurrencyConfig

Controls the concurrent execution behavior of the pipeline and its tasks.

concurrencyConfig.maxRunningPipelineInstances

Optional. The maximum number of pipeline instances that can run concurrently. Default value: 100.

When the maximum number of running instances is reached, pipelineMaxRunningBehavior determines how new execution requests are handled.

concurrencyConfig.pipelineMaxRunningBehavior

Optional. Default value: rejectNew.

Specifies the behavior when the maximum number of running instances is reached. Valid values:

  • preemptOldest: Cancels the oldest running instance to make room for the new one.

  • rejectNew: Denies new execution requests.

concurrencyConfig.maxRunningJobInstances

Optional. The maximum number of instances of the same job that can run concurrently. Default value: 1.

When multiple pipeline instances run concurrently, this setting limits the number of parallel executions for the same job. If the limit is exceeded, new task instances wait for existing ones to complete.

Scenarios

  1. Limit pipeline concurrency: To limit the number of pipeline instances that can run concurrently, set maxRunningPipelineInstances.

  2. Control job concurrency: To allow the same job to run concurrently across different pipeline instances, set maxRunningJobInstances.

  3. Preemption policy: To prioritize newly triggered pipelines, set pipelineMaxRunningBehavior to preemptOldest.

  4. Rejection policy: To strictly limit concurrency and prevent new instances from preempting existing ones, set pipelineMaxRunningBehavior to rejectNew.