À quoi sert ce node ?
Le node Loop traite les tableaux en répétant une séquence de nodes pour chaque élément. Il est essentiel pour les opérations en lot : parcourir plusieurs URL, traiter des lignes de feuille de calcul ou gérer des listes de réponses API. Usages courants :- Traiter une liste d’URL
- Parcourir les lignes d’une feuille de calcul
- Gérer les tableaux de réponses API
- Traiter des éléments en lot
Configuration rapide
Configuration
Champs obligatoires
Le tableau à parcourir.Exemples :
- Depuis Sheets :
{{GoogleSheets_0.data}} - Depuis une API :
{{HTTP_0.body.results}} - Manuel :
["url1", "url2", "url3"]
Champs optionnels
Nombre maximum d’itérations pour éviter les boucles infinies.À définir systématiquement comme mesure de sécurité.
Délai en millisecondes entre chaque itération.Recommandations :
- Appels API : 1000-2000 ms
- Scraping web : 2000-3000 ms
- Sans appel externe : 0 ms
Variables de boucle
Dans une boucle, vous pouvez utiliser ces variables :| Variable | Description | Exemple |
|---|---|---|
{{Loop_0.currentItem}} | Élément courant | "https://example.com" |
{{Loop_0.index}} | Index courant (à partir de 0) | 0, 1, 2… |
{{Loop_0.totalItems}} | Nombre total d’éléments | 10 |
Accéder aux propriétés des éléments
Si les éléments sont des objets :Sortie
À la fin, la boucle fournit :{{Loop_0.results}}
Exemples
Scraper plusieurs URL
Entrée : Liste d’URL depuis Google Sheets Configuration :- Items :
{{GoogleSheets_0.data}} - Max iterations : 50
- Delay : 2000 ms
- URL du Web Scraper :
{{Loop_0.currentItem.url}}
Traiter les résultats d’une API
Entrée : Réponse API avec un tableau d’enregistrements Configuration :- Items :
{{HTTP_0.body.results}}
Envoyer des e-mails à plusieurs destinataires
Entrée : Liste de contacts Dans la boucle :- Destinataire :
{{Loop_0.currentItem.email}} - Variable nom :
{{Loop_0.currentItem.name}}
Boucles imbriquées
Pour traiter des données multidimensionnelles : Configuration :- Boucle externe :
{{categories}} - Boucle interne :
{{OuterLoop_0.currentItem.products}}
Bonnes pratiques
Toujours définir un nombre max d’itérations
Pour éviter les boucles infinies ou incontrôlées :Ajouter des délais pour les appels externes
Lors d’appels API ou de scraping :Gérer les erreurs dans la boucle
Prévoyez une gestion des erreurs à chaque itération : Utilisez des nodes Conditional pour détecter les échecs.Traiter les gros jeux de données par lots
Pour des milliers d’éléments :- Découper en lots de 50 à 100
- Traiter chaque lot dans une boucle
- Ajouter des délais entre les lots
- Suivre la progression dans un log
Donner des noms explicites aux nodes
Dans les boucles, nommez clairement les nodes :Modèles courants
Collecter et agréger
Filtrer pendant le traitement
Suivi de progression
Problèmes fréquents
La boucle prend trop de temps
La boucle prend trop de temps
- Réduire le nombre max d’itérations
- Réduire les délais
- Traiter par lots plus petits
- Vérifier qu’il n’y a pas de condition de boucle infinie
Rate limiting par l’API
Rate limiting par l’API
- Augmenter le délai entre les itérations
- Réduire la taille des lots
- Mettre en place un backoff exponentiel
- Vérifier les limites de l’API
Certains éléments échouent
Certains éléments échouent
- Ajouter un node Conditional pour gérer les erreurs
- Logger les éléments en échec pour analyse
- Utiliser une logique de retry pour les erreurs temporaires
Le tableau des résultats est vide
Le tableau des résultats est vide
- Vérifier que les nodes dans la boucle produisent une sortie
- Vérifier que les résultats sont bien collectés
- Vérifier que le tableau d’entrée contient des éléments

