Skip to content

Durable Execution Engine

The durable execution engine (dex) handles background task scheduling and execution. This page documents its worker types, task queues, and default configuration.

For tuning guidance, see Scaling.

Workers

Workers poll task queues and execute tasks. Each worker has a configurable maximum concurrency that limits how many tasks it processes simultaneously per instance.

Worker concurrency is configured via:

dt.dex-engine.<worker-type>.<worker-name>.max-concurrency=<N>

Where <worker-type> is either workflow-worker or activity-worker.

Worker Type Worker Name Queue Default Concurrency
workflow-worker default default 100
activity-worker default default 25
activity-worker vuln-analysis vuln-analyses 10
activity-worker artifact-import artifact-imports 10
activity-worker package-metadata-resolution package-metadata-resolutions 10
activity-worker notification notifications 5
activity-worker vuln-analysis-reconciliation vuln-analysis-reconciliations 5
activity-worker policy-evaluation policy-evaluations 5
activity-worker metrics-update metrics-updates 5

Task queues

Task queue capacity limits how many tasks can be pending across the entire cluster. When a queue reaches capacity, the scheduler stops creating new tasks for that queue, providing backpressure.

Queue capacity is modifiable at runtime in the administrator panel under Workflows -> Task Queues, or via REST API.

Type Queue Default Capacity
workflow default 1000
activity default 1000
activity artifact-imports 25
activity metrics-updates 25
activity notifications 25
activity package-metadata-resolutions 25
activity policy-evaluations 25
activity vuln-analyses 25
activity vuln-analysis-reconciliations 25