Package io.kestra.core.tasks.flows
Class Dag
java.lang.Object
io.kestra.core.models.tasks.Task
io.kestra.core.tasks.flows.Dag
- All Implemented Interfaces:
FlowableTask<VoidOutput>
@Plugin(examples=@Example(title="Run a series of tasks for which the execution order is defined by their upstream dependencies.",code="tasks:\n - task:\n id: task1\n type: io.kestra.core.tasks.log.Log\n message: task 1\n - task:\n id: task2\n type: io.kestra.core.tasks.log.Log\n message: task 2\n dependsOn:\n - task1\n - task:\n id: task3\n type: io.kestra.core.tasks.log.Log\n message: task 3\n dependsOn:\n - task1\n - task:\n id: task4\n type: io.kestra.core.tasks.log.Log\n message: task 4\n dependsOn:\n - task2\n - task:\n id: task5\n type: io.kestra.core.tasks.log.Log\n message: task 5\n dependsOn:\n - task4\n - task3\n"))
public class Dag
extends Task
implements FlowableTask<VoidOutput>
-
Nested Class Summary
Nested Classes -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionchildTasks(RunContext runContext, TaskRun parentTaskRun) Resolve child tasks of a flowable task.dagCheckCyclicDependencies(List<Dag.DagTask> taskDepends) dagCheckNotExistTask(List<Dag.DagTask> taskDepends) resolveNexts(RunContext runContext, Execution execution, TaskRun parentTaskRun) Resolve next tasks to run for an execution.Create the topology representation of a flowable task.Methods inherited from class io.kestra.core.models.tasks.Task
findById, findById, isFlowable, isSendToWorkerTaskMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.kestra.core.models.tasks.FlowableTask
getErrors, outputs, resolveState
-
Field Details
-
errors
-
-
Constructor Details
-
Dag
public Dag()
-
-
Method Details
-
tasksTree
public GraphCluster tasksTree(Execution execution, TaskRun taskRun, List<String> parentValues) throws IllegalVariableEvaluationException Description copied from interface:FlowableTaskCreate the topology representation of a flowable task.A flowable task always contains subtask to it returns a cluster that displays the subtasks.
- Specified by:
tasksTreein interfaceFlowableTask<VoidOutput>- Throws:
IllegalVariableEvaluationException
-
allChildTasks
- Specified by:
allChildTasksin interfaceFlowableTask<VoidOutput>- Returns:
- all child tasks including errors
-
childTasks
public List<ResolvedTask> childTasks(RunContext runContext, TaskRun parentTaskRun) throws IllegalVariableEvaluationException Description copied from interface:FlowableTaskResolve child tasks of a flowable task.For a normal flowable, it should be the list of its tasks, for an iterative flowable (such as EachSequential, ForEachItem, ...), it should be the list of its tasks for all iterations.
- Specified by:
childTasksin interfaceFlowableTask<VoidOutput>- Throws:
IllegalVariableEvaluationException
-
resolveNexts
public List<NextTaskRun> resolveNexts(RunContext runContext, Execution execution, TaskRun parentTaskRun) throws IllegalVariableEvaluationException Description copied from interface:FlowableTaskResolve next tasks to run for an execution.For a normal flowable, it should be the subsequent task, for a parallel flowable (such as Parallel, ForEachItem, ...), it should be a list of the next subsequent tasks of the size of the concurrency of the task.
- Specified by:
resolveNextsin interfaceFlowableTask<VoidOutput>- Throws:
IllegalVariableEvaluationException
-
dagCheckNotExistTask
-
dagCheckCyclicDependencies
-