Ce que fait retry on fail dans n8n, et ce qu'il ne fait pas
Retry on fail est un réglage propre à chaque nœud dans n8n. Lorsqu'il est activé, un nœud qui renvoie une erreur est relancé après une pause, jusqu'à un nombre de tentatives défini, avant que l'étape ne soit considérée comme en échec. La page de n8n sur la gestion des erreurs citée dans cet article traite des workflows d'erreur plutôt que de ce réglage. Considérez donc ces mécanismes comme des points à vérifier dans les paramètres de vos propres nœuds : le nombre maximal de tentatives, le délai entre elles et les options voisines qui définissent le comportement en cas d'erreur, comme l'arrêt ou la poursuite de l'exécution.
La limite essentielle est qu'un réessai répète la même requête avec les mêmes données. Il aide quand la cause est temporaire : une brève panne réseau, un délai d'expiration dépassé ou un service momentanément surchargé. Il ne peut pas corriger un identifiant erroné, une charge utile mal formée, un enregistrement manquant ou un contrat d'API modifié. Dans ces cas, chaque tentative échoue de la même manière et le réessai ne fait que retarder l'échec. Les limites exactes de tentatives et de délai peuvent changer d'une version de n8n à l'autre : vérifiez-les dans votre propre instance avant de vous y fier.
Quelles défaillances méritent un réessai
Avant d'activer les réessais, demandez-vous si une seconde tentative quelques secondes plus tard a une chance réaliste de réussir. Les conditions temporaires passent généralement ce test. Les conditions déterministes, non. Classer les erreurs probables dans ces deux groupes est la décision la plus utile que vous puissiez prendre, et la réponse dépend de chaque nœud et de chaque service externe.
La limitation de débit demande une attention particulière. Une pause courte et fixe entre les tentatives peut encore tomber dans la fenêtre de limite du fournisseur, si bien que toutes les tentatives échouent ensemble. Si un nœud atteint régulièrement les limites de débit, des attentes plus longues, le traitement par lots ou une réduction du nombre d'appels fonctionnent généralement mieux que davantage de réessais.
- À réessayer en général : délais d'expiration, connexions réinitialisées, réponses 5xx temporaires, brèves indisponibilités de service.
- À ne pas réessayer en général : erreurs d'authentification ou de permission, erreurs de validation, 404 pour des enregistrements manquants, incohérences de schéma ou de champs.
- À réessayer avec prudence : réponses de limitation de débit, et tout nœud qui écrit des données dans un autre système.
Le risque d'écritures en double
L'effet secondaire le plus grave des réessais est la duplication. Un nœud qui crée une facture, envoie un e-mail ou publie un message peut réussir côté distant tout en signalant une erreur, par exemple parce que la réponse a expiré. n8n constate un échec et relance le nœud : le système externe contient alors deux enregistrements, ou le client reçoit deux messages.
Pour tout nœud qui modifie des données ailleurs, vérifiez si la cible prend en charge une clé d'idempotence ou un upsert, ou ajoutez une étape de recherche avant l'écriture afin qu'une nouvelle tentative puisse détecter le travail déjà effectué. Si aucune de ces options n'est possible, il peut être plus sûr de laisser les réessais désactivés pour ce nœud et de gérer l'échec par une alerte et une reprise manuelle maîtrisée. Tout ce que vous construisez doit respecter les mêmes contrôles d'accès et règles de protection des données que le reste de vos systèmes ; un réessai ne doit jamais servir à les contourner.
Associer réessais, workflows d'erreur et alertes
Les réessais gèrent les défaillances attendues et de courte durée. Tout le reste doit parvenir à une personne. La documentation de n8n décrit les workflows d'erreur : un workflow distinct qui commence par un nœud Error Trigger et s'exécute lorsqu'une exécution du workflow associé échoue. Il reçoit des détails comme le workflow, le nœud en échec et le message d'erreur, que vous pouvez acheminer vers un canal d'équipe, un ticket ou un outil d'astreinte. La documentation décrit aussi le nœud Stop And Error, qui permet de faire échouer volontairement une exécution lorsque vos propres contrôles détectent des données incorrectes.
Deux interactions méritent d'être vérifiées. Comme la documentation lie le workflow d'erreur à une exécution en échec, on peut en déduire qu'un nœud configuré pour continuer en cas d'erreur risque de ne jamais le déclencher, puisque l'exécution dans son ensemble peut ne pas échouer ; c'est une déduction à confirmer dans votre propre instance. Les réessais retardent aussi le signal : une alerte ne peut arriver qu'après l'échec de la dernière tentative. La visibilité des tentatives précédentes dans votre historique d'exécutions est à vérifier plutôt qu'à supposer. La preuve fiable que les alertes fonctionnent consiste à provoquer volontairement un échec, par exemple avec un nœud Stop And Error, et à confirmer que l'alerte arrive avec assez de contexte pour agir.
Exemple concret : une synchronisation CRM nocturne
Exemple (hypothétique) : un workflow s'exécute chaque nuit, lit les nouvelles commandes dans une base de données, appelle une API de CRM pour créer des contacts, puis publie un résumé dans un canal de discussion. La lecture en base expire de temps en temps, le CRM renvoie parfois des réponses 503 temporaires, et la publication dans le canal échoue rarement.
Une configuration raisonnable activerait les réessais sur la lecture en base, car une lecture répétée ne modifie rien. Pour l'étape CRM, l'équipe ajouterait d'abord une recherche par e-mail afin que l'appel de création puisse être répété sans risque, et n'activerait qu'ensuite un petit nombre de réessais avec une pause assez longue pour que le service se rétablisse. La publication du résumé pourrait être configurée pour continuer en cas d'erreur, car un résumé manquant ne doit pas marquer toute la synchronisation comme en échec. Enfin, un workflow d'erreur enverrait le nom du nœud en échec, le message d'erreur et le lien vers l'exécution au canal des opérations, et l'équipe le vérifierait en provoquant volontairement un échec et en confirmant l'arrivée de l'alerte.
- Étapes en lecture seule : réessayer librement.
- Étapes d'écriture : les rendre répétables sans risque avant d'activer les réessais.
- Notifications non critiques : continuer en cas d'erreur, mais consigner quand même l'échec.
- Chaque workflow : associer un workflow d'erreur et le tester avec un échec volontaire.
Checklist de décision et place du monitoring
Utilisez cette checklist avant d'activer les réessais sur un nœud : la défaillance probable est-elle temporaire ; le nœud est-il en lecture seule ou répétable sans risque ; la pause est-elle assez longue pour que la dépendance se rétablisse ; un échec final atteindra-t-il un workflow d'erreur ; et quelqu'un sera-t-il prévenu, avec assez de contexte pour agir ? Si une réponse est non, comblez d'abord cette lacune. Après chaque incident, revoyez les réglages : un nœud qui a besoin de réessais chaque nuit signale un problème de conception ou de capacité plutôt que de la malchance.
Une couche de monitoring dédiée peut soutenir la détection précoce et le diagnostic. Datvero est conçu pour surveiller les workflows n8n et transformer les échecs en alertes exploitables avec suivi des incidents, afin que la reprise et le suivi ne dépendent pas de quelqu'un qui remarque un message dans un canal. Sa portée est limitée par les signaux qu'une équipe configure : le monitoring peut raccourcir le délai avant qu'un échec soit remarqué, mais il ne garantit pas de résultat et ne détecte pas tous les échecs silencieux, et la fiabilité dépend toujours de la façon dont chaque équipe configure sa plateforme et mène ses processus opérationnels.
Questions fréquentes
Retry on fail dans n8n s'applique-t-il à tout le workflow ou à un seul nœud ?
Il s'applique à un seul nœud. Vous l'activez dans les paramètres de ce nœud, et seul ce nœud est relancé après une erreur ; vérifiez les limites de tentatives et de délai dans votre version de n8n. Les autres nœuds conservent leur propre comportement en cas d'erreur, et une réponse aux échecs à l'échelle du workflow passe généralement par un workflow d'erreur qui commence par un nœud Error Trigger.
Réessayer un nœud dans n8n peut-il créer des enregistrements en double ?
Oui. Si un nœud qui écrit des données réussit sur le système distant mais signale une erreur, comme un délai d'expiration, un réessai peut répéter l'écriture. Pour réduire ce risque, utilisez des clés d'idempotence ou des upserts lorsque la cible les prend en charge, ou recherchez les enregistrements existants avant d'en créer de nouveaux.
Un workflow d'erreur n8n s'exécute-t-il si un nœud est configuré pour réessayer ou continuer en cas d'erreur ?
Un workflow d'erreur n8n s'exécute lorsqu'une exécution échoue. Si un réessai finit par réussir, l'exécution n'échoue pas et rien n'est déclenché. Si un nœud est configuré pour continuer en cas d'erreur, l'exécution peut se terminer sans échec, ce qui laisse penser que le workflow d'erreur ne se déclenchera pas. Confirmez ce comportement en provoquant volontairement un échec et en vérifiant que l'alerte arrive.
Sources et pour aller plus loin
Ces ressources fournissent le cadre de référence général. Les affirmations sur le produit figurant sur cette page se limitent aux informations publiques fournies par Datvero.