
Core Plugins and tasks Parallel
CertifiedRun child tasks in parallel.
Core Plugins and tasks Parallel
Run child tasks in parallel.
Starts all child tasks concurrently, bounded by concurrent if set (0 = no cap). Each branch can contain its own sequences or nested flows.
Use when independent steps can run at the same time to shorten wall-clock duration.
type: io.kestra.plugin.core.flow.ParallelExamples
Run tasks in parallel
id: parallel
namespace: company.team
tasks:
- id: parallel
type: io.kestra.plugin.core.flow.Parallel
tasks:
- id: 1st
type: io.kestra.plugin.core.debug.Return
format: "{{ task.id }} > {{ taskrun.startDate }}"
- id: 2nd
type: io.kestra.plugin.core.debug.Return
format: "{{ task.id }} > {{ taskrun.id }}"
- id: last
type: io.kestra.plugin.core.debug.Return
format: "{{ task.id }} > {{ taskrun.startDate }}"
Run two sequences in parallel
id: parallel_sequences
namespace: company.team
tasks:
- id: parallel
type: io.kestra.plugin.core.flow.Parallel
tasks:
- id: sequence1
type: io.kestra.plugin.core.flow.Sequential
tasks:
- id: task1
type: io.kestra.plugin.core.debug.Return
format: "{{ task.id }}"
- id: task2
type: io.kestra.plugin.core.debug.Return
format: "{{ task.id }}"
- id: sequence2
type: io.kestra.plugin.core.flow.Sequential
tasks:
- id: task3
type: io.kestra.plugin.core.debug.Return
format: "{{ task.id }}"
- id: task4
type: io.kestra.plugin.core.debug.Return
format: "{{ task.id }}"
Stop the other branches as soon as one task fails
id: parallel_fail_fast
namespace: company.team
tasks:
- id: parallel
type: io.kestra.plugin.core.flow.Parallel
onChildFailure: CANCELLED
tasks:
- id: fails_fast
type: io.kestra.plugin.core.execution.Fail
- id: long_running
type: io.kestra.plugin.core.flow.Sleep
duration: PT1M
Properties
tasks *RequiredNon-dynamicarray
1concurrent integerstring
0Number of concurrent parallel tasks that can be running at any point in time
If the value is 0, no limit exist and all tasks will start at the same time.
errors Non-dynamicarray
List of tasks to run if any tasks failed on this FlowableTask.
finally Non-dynamicarray
onChildFailure string
FAILCONTINUECANCELFAILWhat to do with the other still-running tasks when one task fails.
CONTINUE (default): other tasks keep running to completion, as today.
CANCELLED / FAILED: as soon as a task fails with no retry left, every other still-running task in this Parallel is interrupted and lands in the given state. The Parallel itself still resolves to FAILED and its errors/finally tasks still run normally.