---
title: "run parallel · RUAL Documentation"
description: "Runs up to 5 selected functions in parallel to speed up execution, then continues the flow once all have finished. Each function's return values are exp…"
canonical: https://docs.rual.nl/block-types/function%20execution/function_run_parallel
language: en
---

[Cluster](https://docs.rual.nl/cluster)

[Blocks](https://docs.rual.nl/block-types)

[Interfaces](https://docs.rual.nl/interfaces)

[Blueprints](https://docs.rual.nl/blueprints)

[Tutorials](https://docs.rual.nl/tutorials)

[Home automation](https://docs.rual.nl/home-automation)

[Examples](https://docs.rual.nl/examples)

[Reference](https://docs.rual.nl/reference)

[Architecture](https://docs.rual.nl/architecture)

[Troubleshooting](https://docs.rual.nl/troubleshooting)

Other

# run parallel

This block is part of the [`function execution`](https://docs.rual.nl/block-types/function%20execution) group and was last modified in core [`v15.0.0`](https://docs.rual.nl/core-versions/150000).

Runs up to 5 selected functions in parallel to speed up execution, then continues the flow once all have finished. Each function's return values are exposed on its own result_N object pin. Sets success=false and a global error if any function fails.

- flow `flow`

- Result 1 `v15.0.0` `object` Return pins of the 1st selected function as an object, keyed by the function's return pin ids.

- Result 2 `v15.0.0` `object` Return pins of the 2nd selected function as an object.

- Result 3 `v15.0.0` `object` Return pins of the 3rd selected function as an object.

- Result 4 `v15.0.0` `object` Return pins of the 4th selected function as an object.

- Result 5 `v15.0.0` `object` Return pins of the 5th selected function as an object.

- success `v15.0.0` `condition` True only when every selected function ran without error.

- error `v15.0.0` `value` The first error encountered across the parallel runs, or empty on success.

Runs the 1-5 selected functions concurrently and blocks until ALL have finished, then continues the flow. Function N's return pins are emitted as an object on result_N (selection order); a function that returned nothing yields an empty object, never nil. success is true only when every function completed without error; on any failure success=false and error holds the FIRST failure. No function selected gives success=false with error NO_FUNCTIONS_SELECTED. Custom in-pins for function N are wired as block in-pins named f{N}_{pinId}.

| `parallel` |
| --- |
| `concurrent` |
| `fan out` |

A typical wiring for [run parallel](https://docs.rual.nl/block-types/function%2520execution/function_run_parallel): a [function trigger](https://docs.rual.nl/block-types/globals/trigger_custom_function) starts the flow; the `flow` out pin feeds [debug](https://docs.rual.nl/block-types/state%2520ui/state_debug).

[![Studio canvas example for the run parallel block: typical wiring for run parallel.](https://docs.rual.nl/canvas-examples/function_run_parallel.png)](https://docs.rual.nl/canvas-examples/function_run_parallel.png?v=3)

## Version history

Introduced in [`v15.0.0`](https://docs.rual.nl/core-versions/150000).

- [Back to `function execution`](https://docs.rual.nl/block-types/function%20execution): Return to the main group to view all sub-groups

- [Back to `function`](https://docs.rual.nl/block-types/function%20execution?group=function): Return to the group to view all blocks within this group

Was this page helpful? [Tell us what to improve](https://docs.rual.nl/support) · RUAL Docs is an integral component of the [RUAL ecosystem](https://rual.nl)
