Cette astuce vous présente différentes façons de chainer l'exécution de scripts Integrator.
Exécution séquentielle de scripts
La première méthode consiste à chainer les scripts Integrator les uns à la suite des autres.
Voici le contenu des propriétés du premier nœud :
Par défaut si l’exécution d'un script est en échec, la suite du flux n'est pas exécutée.
Dans notre exemple le script2 est en échec et l'exécution du script3 n'a pas été effectuée.
Exécution séquentielle ou simultanée de scripts - Méthode 1
Dans l'exemple ci-dessous, un seul nœud Integrator est utilisé, concentrant les trois scripts. Cela permet une vue plus compacte du script Production.
Voici le contenu des propriétés du nœud :
Dans l'exemple ci-dessous le script2 est en échec et l'exécution du script3 n'a pas été effectuée.
Si l'on souhaite que l'ensemble des scripts soient exécutés même si l’exécution d'un ou de plusieurs scripts échoue, les propriétés du nœud Integrator doivent être paramétrées comme suivant :
La propriété générale Failure type doit être sur All et les propriétés de scripts Failure Type doivent être définies sur Never.
Dans ce cas et dans notre exemple, malgré l'échec d’exécution du script2, le script3 est exécuté.
Cependant le statut global du nœud est sur l'état Succeeded empêchant par exemple l'envoi d'un courriel indiquant une défaillance dans l'exécution d'un ou plusieurs scripts.
Exécution séquentielle ou simultanée de scripts - Méthode 2
L'exemple ci-dessous fait intervenir une boucle pour l’exécution des différents scripts :
Les propriétés du nœud de contrôle de type Boucle (Loop) ont été définies comme suivant :
Un paramètre de type nom_script a été créé et une ligne par nom de fichier script Integrator a été créée.
Concernant le nœud Integrator, les propriétés sont les suivantes :
Dans la zone Integrator scripts, le paramètre $(nom_script) a été inséré.
Par défaut, lorsque l’exécution d'un script est en échec, les scripts suivants sont exécutés.
Dans l'exemple ci-dessous, l’exécution du script2 est en échec et le script3 est exécuté :
Cependant le reste du script Production n'est pas exécuté.
Pour que le reste du script Production soit exécuté, les propriétés de l'objet boucle (Loop) doivent être modifiées comme suivant :
Failure Type doit être défini sur All pour que le script Production soit en échec uniquement si l’exécution de tous les scripts Integrator sont en échec.
Notre exemple donne le résultat suivant après modification :
Dans ce cas, il est possible de définir l'envoi d'un courriel indiquant une défaillance dans l'exécution d'un ou plusieurs scripts.
Ceci doit se faire au niveau du nœud Integrator et pour la propriété Email object for failure préciser un template (modèle) d'envoi de courriel