- Démarrer
- Construire
- Ajouter un agent d'IA à un workflow
- Appeler une API externe
- Traiter les e-mails entrants
- Créer un workflow de notification Slack
- Ajouter une approbation humaine à un workflow
- Créer un workflow d’agent de chat
- Gérer les erreurs
- Principes de base du débogage
- L'humain dans la boucle: escalade ou étape humaine
- Évaluation de vos workflows
- Déployer et exécuter
- Exemples
- Référence (Reference)
Gérer les erreurs
Acheminer les nœuds ayant échoué vers un chemin d'erreur, consigner les détails de l'erreur, réessayer les échecs temporaires et mettre fin au workflow proprement sur les erreurs irrécupérables.
Ce que vous créez
Un workflow qui achemine un nœud défaillant vers un chemin distinct, enregistre l'échec avec un contexte utile, réessaie les échecs temporaires lorsque cela a un sens et se termine proprement lorsque l'erreur est irrécupérable. Le résultat est un modèle qui s’intègre à tout workflow existant.
Avant de commencer
- Un workflow existant avec au moins un nœud qui peut échouer et possède un onglet de gestion des erreurs , par exemple une requête HTTP ou un nœud d'extraction.
Nœuds utilisés
- Requête HTTP: le nœud qui peut échouer dans cet exemple.
- Script: consigne les détails de l'erreur.
- Terminer: met fin au workflow sur les erreurs irrécupérables.
Étapes
Avec un agent de codage configuré, vous pouvez ignorer les étapes manuelles. Demandez-le:
Add error handling to the HTTP Request node in this Maestro Automate workflow: connect its error path to a Script node that logs the error message, retry temporary failures, and end the run with a Terminate node when the error can't be recovered.
Add error handling to the HTTP Request node in this Maestro Automate workflow: connect its error path to a Script node that logs the error message, retry temporary failures, and end the run with a Terminate node when the error can't be recovered.
Ouvrez ensuite le workflow sur la zone de dessin, vérifiez-le par rapport aux étapes ci-dessous et testez-le. Configurer votre agent de codage décrit la configuration.
1. Connecter le gestionnaire d'erreurs du nœud
Par défaut, un nœud échoué arrête l'ensemble du workflow. Pour gérer plutôt l'échec:
- Ouvrez le workflow sur le canevas et sélectionnez le nœud qui peut échouer.
- Ouvrez l'onglet Gestion des erreurs et activez Activer la gestion des erreurs. Une gestion des erreurs apparaît sous la gestion de la sortie principale.
- Sélectionnez + dans la gestion des erreurs , recherchez Script et sélectionnez-le.
Cela crée un chemin d’erreur. Lorsque le nœud échoue, l’exécution suit ce chemin au lieu d’arrêter le workflow. Un nœud sans gestion des erreurs ne prend pas en charge la gestion des erreurs, et un échec à ce niveau arrête le workflow et apparaît dans l’onglet Incidents .
2. Enregistrer l'erreur
Dans le nœud Script sur le chemin d'erreur, lisez l'objet d'erreur à $vars.<node>.error :
const error = $vars.httpRequest1.error;
console.log('Step failed:', error.message);
console.log('Code:', error.code, '| HTTP status:', error.status);
return { logged: true };
const error = $vars.httpRequest1.error;
console.log('Step failed:', error.message);
console.log('Code:', error.code, '| HTTP status:', error.status);
return { logged: true };
L'objet d'erreur est uniquement renseigné sur le chemin d'erreur. La page Gestion des erreurs répertorie l'ensemble complet des champs d'erreur.
3. Relancer les échecs transitoires (facultatif)
Si l'échec est susceptible d'être temporaire, comme une interruption du réseau ou une limite de débit, il est utile de réessayer avant d'abandonner. Le nœud de requête HTTP a des fonctions de tentative intégrées: la définition du nombre de réessais dans son onglet Avancé lui permet de réessayer la requête plusieurs fois avant de déclencher la gestion des erreurs. Seul l'échec final est redirigé vers le chemin d'erreur.
Réessayez uniquement les opérations qui peuvent s’exécuter en toute sécurité plusieurs fois. Le fait de réessayer un nœud avec des effets secondaires, tels que l’écriture de données ou l’envoi d’un message, peut créer des doublons.
4. Mettre fin si non récupérable
Sur le chemin de l'erreur, après le nœud Script, ajoutez un nœud Terminer . Pour renvoyer la description de l'échec, sélectionnez Ajouter une variable de sortie sur le nœud et attribuez-lui une valeur qui inclut l'erreur, par exemple $vars.httpRequest1.error.message.
Le workflow se termine au nœud Terminer et l'exécution est répertoriée dans Surveiller les exécutions.
5. Test et débogage
Pour déclencher le chemin d'erreur intentionnellement :
- Définissez temporairement l'URL dans le nœud de demande HTTP sur une valeur non valide (par exemple,
https://this-will-fail.example.com). - Select Run Debug (▶) in the bottom toolbar of the canvas and verify that the execution trace follows the error path.
- Restaurez l'URL correcte.
Vérifier la sortie de la console du nœud Script dans la trace pour confirmer que les détails de l'erreur sont journalisés.
Résultat
Le workflow achemine les échecs vers le chemin d'erreur, consigne les détails de l'erreur, réessaie éventuellement les échecs temporaires et se termine proprement par un statut d'échec descriptif. Une URL non valide dans le nœud de la requête HTTP confirme que le chemin d’erreur fonctionne.
Étendre ce workflow
- Send an alert on failure: on the error path, before the Terminate node, add an HTTP Request or connector node to notify a Slack channel or create a ServiceNow incident.
- Continuer au lieu de se terminer: si l'étape n'est pas critique, définissez le chemin d'erreur sur une valeur de secours et rejoignez le chemin principal au lieu de se terminer.
- Appliquez ce modèle largement: la page Gestion des erreurs décrit davantage de modèles, tels que consigner et continuer, valeurs de secours et escalade.
Prochaines étapes
- Déployer un workflow: exécutez le workflow sans vous.
- Guides: davantage de workflows à créer.
- Communauté: partagez ce que vous avez créé ou demandez de l’aide à d’autres générateurs.