Package io.kestra.core.tasks.flows
Class EachParallel
java.lang.Object
io.kestra.core.models.tasks.Task
io.kestra.core.tasks.flows.Parallel
io.kestra.core.tasks.flows.EachParallel
- All Implemented Interfaces:
FlowableTask<VoidOutput>
@Example(code={"value: \'[\"value 1\", \"value 2\", \"value 3\"]\'","tasks:"," - id: each-value"," type: io.kestra.core.tasks.debugs.Return"," format: \"{{ task.id }} with current value \'{{ taskrun.value }}\'\""}) @Example(code={"value: ","- value 1","- value 2","- value 3","tasks:"," - id: each-value"," type: io.kestra.core.tasks.debugs.Return"," format: \"{{ task.id }} with current value \'{{ taskrun.value }}\'\""}) @Example(title="Handling each value in parallel but only 1 child task for each value at the same time.",code={"value: \'[\"value 1\", \"value 2\", \"value 3\"]\'","tasks:"," - id: seq"," type: io.kestra.core.tasks.flows.Sequential"," tasks:"," - id: t1"," type: io.kestra.plugin.scripts.shell.Commands"," commands:"," - \'echo \"{{task.id}} > {{ parents[0].taskrun.value }}"," - \'sleep 1\'"," - id: t2"," type: io.kestra.plugin.scripts.shell.Commands"," commands:"," - \'echo \"{{task.id}} > {{ parents[0].taskrun.value }}"," - \'sleep 1\'"})
public class EachParallel
extends Parallel
implements FlowableTask<VoidOutput>
-
Field Summary
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionchildTasks(RunContext runContext, TaskRun parentTaskRun) Resolve child tasks of a flowable task.resolveNexts(RunContext runContext, Execution execution, TaskRun parentTaskRun) Resolve next tasks to run for an execution.resolveState(RunContext runContext, Execution execution, TaskRun parentTaskRun) Resolve the state of a flowable task.Create the topology representation of a flowable task.Methods inherited from class io.kestra.core.tasks.flows.Parallel
allChildTasksMethods 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
allChildTasks, getErrors, outputs
-
Constructor Details
-
EachParallel
public EachParallel()
-
-
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>- Overrides:
tasksTreein classParallel- Throws:
IllegalVariableEvaluationException
-
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>- Overrides:
childTasksin classParallel- Throws:
IllegalVariableEvaluationException
-
resolveState
public Optional<State.Type> resolveState(RunContext runContext, Execution execution, TaskRun parentTaskRun) throws IllegalVariableEvaluationException Description copied from interface:FlowableTaskResolve the state of a flowable task.- Specified by:
resolveStatein 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>- Overrides:
resolveNextsin classParallel- Throws:
IllegalVariableEvaluationException
-