Bonnes pratiques générales pour les workflows n8n
Voici une synthèse des bonnes pratiques pour l’utilisation de n8n, couvrant à la fois les aspects de conception des workflows et la gestion de grands ensembles de données.
Table des Matières
Langue et documentation
- Variables et commentaires en anglais : Utilisez l’anglais pour assurer la cohérence et faciliter la collaboration internationale.
- Nommer les nœuds de manière explicite : Par exemple, utilisez des noms tels que Fetch Orders from API ou Transform Customer Data pour une meilleure lisibilité.
Modularité et responsabilité
- Isoler les responsabilités : Divisez les tâches complexes en sous-workflows distincts pour une meilleure maintenabilité.
- Utiliser des sous-workflows : Cela permet de réutiliser des processus communs et de réduire la complexité du workflow principal.
Paramétrisation
- Centraliser les paramètres : Utilisez des variables personnalisées ou des nœuds Set pour définir des paramètres tels que les URLs, les chemins de fichiers ou les clés API.
- Limiter les dépendances externes : Réduisez le nombre d’API différentes utilisées pour minimiser les points de défaillance.
Gestion des grands ensembles de données
Chargement et traitement des données
- Utiliser le nœud Split In Batches ou Loop Data : Divisez les données en lots plus petits (par exemple, 500 éléments) pour éviter de surcharger la mémoire.
- Déplacer les traitements vers des sous-workflows : Cela permet de libérer la mémoire entre chaque lot et d’améliorer les performances.
Optimisation des sous-workflows
- Terminer par un retour vide : Utilisez un nœud Code avec
return [{json:{}}];
pour éviter de renvoyer des données inutiles au workflow principal. - Nettoyer les données : Ajoutez un nœud Set configuré pour ne conserver que les données nécessaires, et définissez-le pour s’exécuter une seule fois.
Configuration de l’environnement
- Stockage des données binaires sur le système de fichiers : Configurez l’environnement avec la variable N8N_DEFAULT_BINARY_DATA_MODE=filesystem pour stocker les données binaires sur le disque plutôt qu’en mémoire, réduisant ainsi la consommation de RAM.
- Utilisez les task runners
Exemple de structure de workflow pour grands ensembles de données
- Lire les données à partir d’une source (par exemple, Google Sheets ou un fichier CSV).
- Utiliser le nœud Split In Batches pour diviser les données en lots de 1000 éléments.
- Appeler un sous-workflow via le nœud Execute Sub-workflow pour traiter chaque lot.
- Dans le sous-workflow, effectuer les opérations nécessaires (par exemple, transformation, envoi d’e-mails, insertion en base de données).
- Utiliser un nœud Set pour effacer les données inutiles avant de retourner au workflow principal.
En suivant ces pratiques, vous optimiserez la performance, la maintenabilité et la scalabilité de vos workflows n8n.