Parallel
Le bloc Parallel est un bloc conteneur dans Worxflow qui permet d'exécuter plusieurs instances de blocs simultanément pour un traitement de flux de travail plus rapide.
Le bloc Parallel prend en charge deux types d'exécution concurrente :
Les blocs Parallel sont des nĆuds conteneurs qui exĂ©cutent leur contenu plusieurs fois simultanĂ©ment, contrairement aux boucles qui s'exĂ©cutent sĂ©quentiellement.
Aperçu
Le bloc Parallel vous permet de :
Distribuer le travail : traiter plusieurs éléments simultanément
Accélérer l'exécution : exécuter des opérations indépendantes simultanément
Gérer des opérations en masse : traiter efficacement de grands ensembles de données
Agréger les résultats : collecter les sorties de toutes les exécutions parallÚles
Options de configuration
Type de parallélisation
Choisissez entre deux types d'exécution parallÚle :
Parallel basé sur le comptage - Exécuter un nombre fixe d'instances parallÚles :

Utilisez cette option lorsque vous devez exĂ©cuter la mĂȘme opĂ©ration plusieurs fois simultanĂ©ment.
Example: Run 5 parallel instances
- Instance 1 â
- Instance 2 ââ All execute simultaneously
- Instance 3 â
- Instance 4 â
- Instance 5 âParallel basĂ© sur une collection - Distribuer une collection Ă travers des instances parallĂšles :

Chaque instance traite un élément de la collection simultanément.
Example: Process ["task1", "task2", "task3"] in parallel
- Instance 1: Process "task1" â
- Instance 2: Process "task2" ââ All execute simultaneously
- Instance 3: Process "task3" âComment utiliser les blocs Parallel
Création d'un bloc Parallel
- Faites glisser un bloc Parallel depuis la barre d'outils sur votre canevas
- Configurez le type de parallélisation et les paramÚtres
- Faites glisser un seul bloc à l'intérieur du conteneur parallel
- Connectez le bloc selon vos besoins
AccÚs aux résultats
AprÚs la fin d'un bloc parallÚle, vous pouvez accéder aux résultats agrégés :
<parallel.results>: Tableau des résultats de toutes les instances parallÚles
Exemples de cas d'utilisation
Traitement par lots d'API
Scénario : traiter plusieurs appels d'API simultanément
- Bloc parallĂšle avec une collection de points de terminaison API
- à l'intérieur du parallÚle : le bloc API appelle chaque point de terminaison
- AprÚs le parallÚle : traitement de toutes les réponses ensemble
Traitement IA multi-modĂšles
Scénario : obtenir des réponses de plusieurs modÚles d'IA
- ParallÚle basé sur une collection de modÚles (ex. : ["gpt-4o", "claude-3.7-sonnet", "gemini-2.5-pro"])
- à l'intérieur du parallÚle : le modÚle de l'agent est défini sur l'élément actuel de la collection
- AprÚs le parallÚle : comparer et sélectionner la meilleure réponse
Fonctionnalités avancées
Agrégation des résultats
Les résultats de toutes les instances parallÚles sont automatiquement collectés :
// In a Function block after the parallel
const allResults = input.parallel.results;
// Returns: [result1, result2, result3, ...]Isolation des instances
Chaque instance parallÚle s'exécute indépendamment :
- Portées de variables séparées
- Pas d'état partagé entre les instances
- Les échecs dans une instance n'affectent pas les autres
Limitations
Les blocs conteneurs (Boucles et ParallĂšles) ne peuvent pas ĂȘtre imbriquĂ©s les uns dans les autres. Cela signifie :
- Vous ne pouvez pas placer un bloc Boucle dans un bloc ParallĂšle
- Vous ne pouvez pas placer un autre bloc ParallĂšle dans un bloc ParallĂšle
- Vous ne pouvez pas placer un bloc conteneur dans un autre bloc conteneur
Les blocs parallÚles ne peuvent contenir qu'un seul bloc. Vous ne pouvez pas avoir plusieurs blocs connectés les uns aux autres à l'intérieur d'un parallÚle - seul le premier bloc s'exécuterait dans ce cas.
Bien que l'exécution parallÚle soit plus rapide, soyez attentif à :
- Limites de taux des API lors de requĂȘtes simultanĂ©es
- Utilisation de la mémoire avec de grands ensembles de données
- Maximum de 20 instances simultanées pour éviter l'épuisement des ressources
ParallĂšle vs Boucle
Comprendre quand utiliser chacun :
| Fonctionnalité | ParallÚle | Boucle |
|---|---|---|
| Exécution | Concurrente | Séquentielle |
| Vitesse | Plus rapide pour les opérations indépendantes | Plus lente mais ordonnée |
| Ordre | Pas d'ordre garanti | Maintient l'ordre |
| Cas d'utilisation | Opérations indépendantes | Opérations dépendantes |
| Utilisation des ressources | Plus élevée | Plus faible |
Entrées et sorties
Type de parallĂšle : Choisissez entre 'count' ou 'collection'
Count : Nombre d'instances à exécuter (basé sur le comptage)
Collection : Tableau ou objet à distribuer (basé sur la collection)
parallel.currentItem : ĂlĂ©ment pour cette instance
parallel.index : Numéro d'instance (base 0)
parallel.items : Collection complÚte (basé sur la collection)
parallel.results : Tableau de tous les résultats d'instance
AccĂšs : Disponible dans les blocs aprĂšs le parallĂšle
Bonnes pratiques
- Opérations indépendantes uniquement : Assurez-vous que les opérations ne dépendent pas les unes des autres
- Gérer les limites de taux : Ajoutez des délais ou une limitation pour les workflows intensifs en API
- Gestion des erreurs : Chaque instance doit gérer ses propres erreurs avec élégance