Create a DAG of tasks without explicitly specifying the order in which the tasks must run.
List your tasks and their dependencies, and Kestra will figure out the execution sequence. Each task can only depend on other tasks from the DAG task. For technical reasons, low-code interaction via UI forms is disabled for now when using this task.
type: "io.kestra.plugin.core.flow.Dag"Examples
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
concurrent 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.
Definitions
io.kestra.plugin.core.flow.Dag-DagTask
task *RequiredTask
The task within the DAG
dependsOn array
The list of task IDs that should have been successfully executed before starting this task
