
Flow Dag
CertifiedDefine tasks as a DAG with explicit dependencies.
Flow Dag
Define tasks as a DAG with explicit dependencies.
Declare tasks and their dependsOn links; Kestra derives the execution order and parallelism (bounded by concurrent). Tasks may only reference peers inside this DAG block.
UI low-code forms are disabled for now with DAG tasks.
type: io.kestra.plugin.core.flow.DagExamples
Run a series of tasks for which the execution order is defined by their upstream dependencies.
id: dag_flow
namespace: company.team
tasks:
- id: dag
type: io.kestra.plugin.core.flow.Dag
tasks:
- task:
id: task1
type: io.kestra.plugin.core.log.Log
message: task 1
- task:
id: task2
type: io.kestra.plugin.core.log.Log
message: task 2
dependsOn:
- task1
- task:
id: task3
type: io.kestra.plugin.core.log.Log
message: task 3
dependsOn:
- task1
- task:
id: task4
type: io.kestra.plugin.core.log.Log
message: task 4
dependsOn:
- task2
- task:
id: task5
type: io.kestra.plugin.core.log.Log
message: task 5
dependsOn:
- task4
- task3
Properties
tasks *array
1io.kestra.plugin.core.flow.Dag-DagTask
The task within the DAG
The list of task IDs that should have been successfully executed before starting this task
assets
Assets this task consumes as inputs or produces as outputs, for lineage tracking and the asset graph (Enterprise Edition). A flow declaring this property on a task is rejected in the open-source edition.
io.kestra.core.models.assets.AssetsDeclaration
IGNOREFAILWARNAsset failure behavior
Behavior applied to the task state when a declared asset fails to render, emit, or be persisted (e.g. a lock conflict): FAIL escalates it to FAILED, WARN (default) warns it if it would otherwise succeed, IGNORE leaves the state untouched.
Whether to auto-register assets referenced dynamically at runtime that are not statically declared in inputs or outputs.
The assets consumed as inputs.
io.kestra.core.models.assets.AssetIdentifier
1The assets produced as outputs.
io.kestra.plugin.ee.assets.Dataset
1150{}1150io.kestra.plugin.ee.assets.File
1150{}1150io.kestra.plugin.ee.assets.Table
1150{}1150io.kestra.plugin.ee.assets.VM
1150{}1150io.kestra.core.models.assets.External
1150{}1150io.kestra.core.models.assets.Custom
11501Custom asset type
{}1150concurrent integerstring
0Number of concurrent parallel tasks that can be running at any point in time
If the value is 0, no concurrency limit exists for the tasks in a DAG and all tasks that can run in parallel will start at the same time.
errors array
List of tasks to run if any tasks failed on this FlowableTask.
finally array
onChildFailure string
FAILCONTINUECANCELFAILUNKNOWNWhat to do with the other still-running tasks when one task fails.
CONTINUE: other tasks keep running to completion, as today.
CANCEL / FAIL (default): as soon as a task fails with no retry left, every other still-running task in this DAG is interrupted and lands in the given state. The DAG itself still resolves to FAILED and its errors/finally tasks still run normally.