Aller au contenu principal

Parallele

Execute plusieurs branches en parallele et attend leur jointure. Configurable avec une strategie de jointure (attendre toutes, premiere, N parmi M).

Parametres communs

ParametreTypeRequisVariableDescription
joinStrategychoix (settled, all, any, race)OuiNonStrategie de jointure determinant quand le bloc continue apres l'execution parallele. (Defaut: "settled")
brancheslisteOuiNonListe des branches paralleles. Chaque branche a un identifiant, un libelle et un indicateur d'activation.
maxConcurrencynombreNonNonNombre maximum de branches executees simultanement. Vide = toutes en parallele. (min 1, max 10)
timeoutnombreNonNonDuree maximale d'execution par branche en millisecondes avant timeout. (min 5000, max 300000)
outputVariabletexteNonNonNom de la variable de sortie contenant les resultats de toutes les branches avec leur statut et duree. (Defaut: "parallelResult")

Parametres par strategie de jointure

settled — Toutes (settled)

Attend que toutes les branches terminent, succes ou echec. Les erreurs sont incluses dans le resultat.

all — Toutes (all)

Attend que toutes les branches terminent avec succes. Echoue si une branche echoue.

any — Une (any)

Termine des qu'une branche reussit. Les autres branches sont annulees.

race — Course (race)

Retourne le premier resultat, succes ou echec. Utile pour les patterns de fallback.

Sortie

Variable de sortie : parallelResults

{
"results": []
}

Exemple

Executer deux recherches en parallele.

Entree :

{}

Sortie :

{"results": [{"branchId": "branch-1", "data": {}}, {"branchId": "branch-2", "data": {}}]}
Astuce

{{parallelResults.results}} contient un tableau avec le resultat de chaque branche. La concurrence maximale est configurable (defaut 5).