Altova FlowForce Server 2024 Advanced Edition

Lorsque l'étape d'une tâche échoue, la tâche est abandonnée. Pour effectuer des actions de nettoyage avant que la tâche ne se termine (comme une connexion ou l'envoi de notifications e-mail), vous pouvez créer des étapes de gestion erreur/succès. Ces étapes vous permettent de protéger l’exécution d’une ou de plusieurs étapes (soit-disant étape protégée). Les gestionnaires erreur/succès et les étapes protégées font partie du soit-disant bloc protégé (voir la Structure d’un bloc protégé ci-dessous).

 

Dépendant de vos besoins professionnels, vous pouvez créer des blocs Étapes d’exécution, Choisir, For-Each et Postpone à l’intérieur d’un bloc protégé. Vous pouvez également imbriquer d’autres blocs à l’intérieur du bloc protégé.

 

Ajouter un gestionnaire erreur/succès

Pour ajouter un gestionnaire erreur/succès, créez une tâche ou ouvrez une tâche existante et cliquez sur nouvelle étape de gestion erreur/succès. Puis, sélectionnez une étape de gestion erreur/succès.

 

Structure d'un bloc protégé

L’exemple illustre la structure d'un bloc modèle protégé. Le bloc protégé ci-dessus consiste en étapes protégées (Étapes A et B) et les gestionnaires erreur/succès (Étapes C, D, E et F). Lorsque les séquences protégées ont été exécutées (avec succès ou avec une erreur), les blocs des gestionnaires seront exécutés dans la prochaine étape.

 

Bloc protégé

 

Étape A

Étape B

 

Sur Erreur

  Étape C

Sur nouvelle tentative

  Étape D

Sur Succès

  Étape E

Toujours

  Étape F

 

Bloc protégé

 

Types de gestionnaires

Chaque bloc de gestion a une condition spéciale, et si cette condition est true, les étapes de ce gestionnaire seront exécutées. Les gestionnaires erreur/succès sont énumérés ci-dessous :

 

Le bloc On-Error est exécuté si une des étapes protégées a échoué.

Le bloc On-Success est exécuté si toutes les étapes protégées ont été effectuées avec succès.

Le gestionnaire In-Retry est exécuté si toute étape protégée a échoué. Les étapes protégées sont exécutées autant de fois que spécifiées dans l’option retry count, (voir l’option Retry ci-dessous). Par défaut, cette option est définie à 0.

Le gestionnaire Toujours est exécuté, peu importe si les étapes protégées ont été effectuées avec succès ou non.

 

Ordre d’exécution du gestionnaire

Les blocs de gestion sont toujours exécutés dans l’ordre spécifique. Par exemple, s’il existe un bloc Toujours suivi d’un bloc On-Error, qui, à son tour, est suivi d’un autre bloc Toujours, les deux blocs Toujours seront exécutés dans l’ordre spécifié dès qu’une séquence protégée a terminé l’exécution. Le bloc On-Error sera exécuté après le premier Toujours uniquement si la séquence protégée a rencontré une erreur.  

 

Dans la bloc modèle protégé ci-dessus, si l’étape A ou B échoue, la séquence protégée est quittée, et les étapes C et F sont garanties pour l’exécution (car elles sont respectivement On-Error et Toujours). L’étape D sera exécutée uniquement si les tentatives sont quittées (voir la sous-section ci-dessous).

 

Option Nouvelle tentative

Il existe des cas pour lesquels vous voulez exécuter l’étape une nouvelle fois si son exécution a échoué. À cette fin, FlowForce Server fournit l’option Retry. Par défaut, cette option est définie à 0, ce qui signifie que le bloc protégé ne sera exécuté qu’une seule fois et qu’aucun nouvel essai ne sera tenté.

 

Les blocs On-Retry sont exécutés uniquement si la séquence protégée a des tentatives quittées. La tentative actuelle démarrera uniquement après que les blocs de gestionnaire ont été exécutés avec succès et uniquement si la séquence protégée a été quittée en raison d’une erreur. Si aucune tentative n’est quittée, l’erreur est déclenchée une nouvelle fois à l’extérieur du bloc protégé.

 

Pour ajouter une étape d’exécution qui sera retentée plusieurs fois, suivez les instructions ci-dessous :

 

1.Précisez le nombre d’essais dont vous avez besoin (par ex., 3 fois) dans le champ texte en haut de l’étape de gestion Erreur/Succès (voir la capture d’écran ci-dessous).

2.Cliquez sur la touche add sous la section Exécuter avec gestion d'erreur/succès et ajoutez l'étape d'exécution actuelle (ou les étapes) qui doit être retentée en cas d'erreur.

 

Dans l'exemple ci-dessous, la tâche, qui charge un fichier vers un serveur FTP, sera retentée 3 fois sur l’erreur. Le nombre de nouvelles tentatives de toute instance de tâche est rapportée dans le journal. De plus, si vous devez obtenir et traiter le nombre de nouvelles tentatives, appelez la fonction d’expression retry-count.

fs_retry_on_error_03

Définir timeout

Vous pouvez définir un timeout sur une étape de gestion d’erreur/succès, en cliquant sur le bouton définir timeout en haut du bloc d’erreur/succès. Lorsque vous cliquez sur ce bouton, deux options se présenteront : timeout et forcer stop après N secondes supplémentaires. Le premier timeout annule une étape de tâche si elle n’a pas de succès après le temps précisé (en secondes). L’étape de la tâche pourrait être en conformité avec la requête ou l’ignorer. Lorsque le premier timeout a expiré, le second timeout aura lieu et abandonnera l’étape de la tâche de force. Les timeouts rendent l’étape abandonnée échouée. Si vous avez défini les gestionnaires On-Error, On-Retry ou Always, ceux-ci seront traités en prochain lieu.

 

Reprendre (Resume) les étapes

Reprendre les étapes permet de poursuivre l’exécution, même une fois que l’erreur a été identifiée. Reprendre les étapes est pertinent par rapport à la gestion d’erreur et peut apparaître uniquement dans les sections des gestionnaires du bloc protégé. Les étapes Resume peuvent aussi être utilisées à l’intérieur des conditionnels qui sont utilisés à l’intérieur des sections de gestionnaire protégées par bloc.

 

Comment les étapes Resume fonctionnent

L’idée principale de l’étape Reprendre est de remplacer le résultat de l’étape protégée échouée avec un objet de résultat construit. Ceci évite que la tâche soit avortée en cas d’une erreur rencontrée à l’intérieur de l’étape de gestion Erreur/Succès. Lorsqu’une étape Resume a été exécutée, les actions suivantes ont lieu :

 

1.Le résultat du bloc protégé correspondant est défini dans l’expression calculée.

2.Ensuite, l’étape Resume quitte le bloc protégé dont elle est un gestionnaire.

3.L’exécution reprend après le bloc protégé, qui pourrait être l’étape suivante qui suit ou lorsque la tâche se termine, comme si le bloc protégé avait réussi.

 

Une fois que l’étape Resume a terminé l’exécution, aucun autre bloc de gestionnaire du bloc protégé actuel ou mêmes étapes à l’intérieur du même bloc de gestionnaire actuel ne sera exécuté. Si vous devez définir quelques opérations de nettoyage, vous pouvez imbriquer un autre bloc protégé à l’intérieur du premier et ajouter, par exemple, les gestionnaires On-Always ou On-Success.

 

Ajouter une Étape Reprendre

Pour ajouter un étape Reprendre, suivez les étapes suivantes :

 

1.Créer une étape de gestion Succès/Erreur.

2.Cliquez sur l’icône Plus à l’emplacement désiré.

3.Sélectionnez Reprendre les étapes depuis la liste.

4.L’étape Reprendre apparaîtra et contiendra un champ de texte dans lequel vous allez devoir fournir une fonction d’expression. Le résultat du bloc protégé actuel est défini dans l’expression calculée dans ce champ.

 

L’expression passée à l’étape Reprendre doit être compatible avec le type de renvoi du bloc protégé, qui est le type de la dernière étape exécutée à l’intérieur de la séquence protégée. La liste ci-dessous fournit des fonctions d’expression que vous pouvez utiliser :

 

make- error-result

make-success-result

merge-results

 

Où placer l’étape Resume

Il existe différents emplacements où vous pouvez placer étapes Reprendre dans les blocs protégés. Quqlques-uns des exemples possibles sont donnés ci-dessous :

 

Exemple 1 : Vous pouvez placet une étape Resume à l’intérieur du bloc du gestionnaire.

Exemple 2 : Vous pouvez également fractionner le bloc protégé divisé en deux blocs imbriqués, l’un qui contient une étape Reprendre et l’autre qui exécute tout gestionnaire - Toujours qui restent.

 

Exemple

En pratique, il n'est pas nécessaire de définir les types de gestionnaires pour chaque tâche. Le scénario le plus commun est de définir uniquement les gestionnaires On-Error et Toujours (voir la capture d’écran ci-dessous).

 

Dans l’exemple de la tâche ci-dessous, la première étape exécute un script depuis le répertoire C:\scripts en appeler la fonction \system\shell\commandline. L'exécution de cette étape est protégée par deux gestionnaires : On-Error et Toujours. Uniquement si l’exécution de la première étape échoue, le gestionnaire On-Error enverra un e-mail qui contient l'ID de l'instance de la tâche échouée dans la ligne de l'objet. Le gestionnaire Toujours est exécuté peu importe si la première étape a été réussie ou non. Ce gestionnaire enregistrera un message en exécutant un script depuis le répertoire C:\scripts.

 

Pour plus d’exemples, voir Ajouter la gestion d'erreur à une tâche.

fs_protected_block_01

 

© 2018-2024 Altova GmbH