Ajouter la gestion d'erreur à une tâche

www.altova.com Imprimer cette rubrique Page précédente Un niveau supérieur Page suivante

Accueil >  Exemples de configuration de tâche >

Ajouter la gestion d'erreur à une tâche

Cet exemple montre comment ajouter la gestion d'erreur en une tâche simple qui recense les contenus d'un répertoire. Plus spécifiquement, il vous montre comment configurer FlowForce Server comme suit :

 

Lorsque la tâche ne parvient pas à exécuter pour une raison quelconque, envoyer une notification d'e-mail à un destinataire nommé.
Lorsque l'exécution de tâches s'achève, quel que soit le statut d'exécution, connecter l'ID interne de tâche dans un fichier sur le système local.

 

En termes FlowForce Server, dans cet exemple, vous créez un bloc protégé avec deux conditions de gestion d'erreur : "Sur Erreur" et "Toujours" (chacun gérera un des scénarios mentionné ci-dessus).

 

Conditions préalables

Licences nécessaires : FlowForce Server
FlowForce Server est exécuté dans l'adresse et le port de réseau configuré (voir Configurer l'adresse de réseau et le port)
Les paramètres d'e-mail de FlowForce Server ont été configurés (voir Configuration des paramètres de mail)
Vous avez un compte d'utilisateur FlowForce Server contenant des permissions vers un des conteneurs (par défaut, le conteneur /public est accessible à tout utilisateur authentifié).

 

Astuces

Cet exemple utilise les expressions FlowForce Server, qui sont requis pour gérer les valeurs de retour de tâche. Pour mieux comprendre cet exemple, vous pouvez regarder les fonctions d'expression instance-id, stderr, stdout et failed-step (voir Fonctions de résultat d'étape).
Bien que cet exemple utilise les chemins et les commandes Windows, vous pouvez toujours la tester sur d'autres systèmes d'exploitation, si vous changez les chemins et les commandes en fonction.

 

Créer la tâche

1.Sur l'appareil sur lequel FlowForce Server est exécuté, créer un fichier appelé JobLog.txt (ce fichier sera utilisé dans les étapes suivantes).
2.Se connecter sur FlowForce Server et se déplacer sur le conteneur où vous avez la permission pour créer de nouvelles tâches (dans cet exemple, nous utilisons /public).
3.Cliquer sur Créer, puis choisir Créer une tâche.
4.Sous Étapes d'exécution, cliquer sur la touche add, puis choisir nouvelle étape handling erreur/succès.
5.Sous "Exécuter avec le handling erreur/succès", cliquer sur la touche add, et choisir d'ajouter une nouvelle étape d'exécution, avec les paramètres suivants :

 

Exécuter la fonction

Chercher la fonction /system/shell/commandline.

Commande

Saisir la commande shell suivante :

dir /s

Sur Windows, cette commande liste récursivement les contenus du répertoire de travail (voir le paramètre suivant).

Répertoire de travail

Définir la valeur dans un endroit existant sur l'appareil dans lequel FlowForce Server est exécuté, par exemple c:\

 

6.Sous la condition "En cas d'erreur", cliquer la touche add et choisir d'ajouter une nouvelle étape d'exécution, avec les paramètres suivants :

 

Exécuter la fonction

Chercher la fonction builtin_function/system/mail/send.

De

Saisir l'adresse e-mail de l'expéditeur. Ne pas remplir ce champ si vous avez configuré les paramètres e-mail à partir de la page d'administration.

À

Saisir l'adresse e-mail.

Objet

Saisir le sujet de l'e-mail de notification comme suit :

Job {instance-id()} has failed

Corps de texte

Saisir l'expression FlowForce Server suivante :

Exit Code: {string(exitcode(failed-step()))}

Standard Error: {content(stderr(failed-step()))}

Standard Output: {content(stdout(failed-step()))}

Pour plus d'informations concernant l'objectif de chaque fonction utilisée ici, voir Fonctions de résultat d'étape.

 

7.Cliquer sur nouvelle étape handling erreur/succès, puis sélectionner Toujours faire.
8.Sous la condition "Toujours faire", cliquer sur la touche add et choisir l'ajouter une nouvelle étape d'exécution, avec les paramètres suivants :

 

Exécuter la fonction

Chercher la fonction /system/shell/commandline.

Commande

Saisir la commande shell suivante :

echo {instance-id()} >> JobLog.txt

Sur Windows, cette commande écrit l'ID de tâche dans un fichier appelé JobLog.txt. Si le fichier contient des données, le nouveau texte sera ajouté après les données existantes.

Répertoire de travail

Définir la valeur dans le répertoire dans lequel le fichier JobLog.txt créé dans des étapes précédentes se trouve. Il doit s'agir d'un répertoire existant sur la machine dans laquelle FlowForce Server est exécuté, par exemple c:\

 

À ce niveau, la tâche devrait ressembler à l'exemple suivant (si vous n'avez pas utilisé des chemins ou des commandes shell différentes).

ExxampleErrorHandling1

9.Sous Déclencheurs, ajouter un Déclencheur horaire, ajouter un déclencheur Horaire, qui est exécuté chaque minute N (par exemple, 5 minutes).

ExxampleErrorHandling2

10.Sous Identifiants, choisir une entrée d'identifiant existant ou spécifier un identifiant local (voir Identifiants).
11.Cliquer sur Enregistrer.

 

 

À ce niveau, vous avez achevé la configuration de tâche, et vous pouvez éventuellement effectuer les étapes suivantes :

 

Pour tester la condition "Toujours faire", attendre que les conditions de déclencheur soient remplies. Lorsque la condition du déclencheur est remplie, une nouvelle ID de tâche est apposée aux contenus du fichier JobLog.txt.
Pour tester la condition "En cas d'erreur", changer les paramètres de la première étape en des paramètres délibérément incorrectes (éventuellement en spécifiant un chemin qui n'existe pas). Dans ce cas, FlowForce Server enverra un e-mail à l'adresse spécifiée dans le champ du gestionnaire destinataire "En cas d'erreur". De plus, il placera l'ID de tâche dans le fichier JobLog.txt, puisque ce comportement a été configuré pour se produire dans la condition "Toujours faire".
Pour voir si la tâche a été exécutée correctement, veuillez vous référer au journal de la tâche (voir Consulter le journal de tâche).

© 2019 Altova GmbH