Skip to content

Resource Limits

Manage workflow execution with concurrency limits.

Concurrency Control

yaml
maxActiveRuns: 1        # Only one instance of this DAG
maxActiveSteps: 1       # Max 1 steps running concurrently

steps:
  - sh -c "echo Starting heavy computation; sleep 3; echo Completed"
  - echo "Processing large dataset"
  - parallel:
      items: ${FILE_LIST}
      maxConcurrent: 3  # Limit parallel I/O
    command: echo "Processing file ${ITEM}"

Limit by Queue

yaml
queue: heavy-jobs       # Assign to specific queue
maxActiveRuns: 2        # Queue allows 2 concurrent

steps:
  - sh -c "echo Starting intensive task; sleep 10; echo Done"
  - echo "Quick task"

You can define queues in the global configuration to set concurrency limits.

yaml
queues:
  enable: true
  heavy-jobs:
    maxConcurrency: 2
  light-jobs:
    maxConcurrency: 10

See Queue System for details.

Released under the MIT License.