Consultez les connecteurs compatibles avec Application Integration.

Stratégies de traitement des erreurs pour les tâches

La stratégie de traitement des erreurs d'une tâche spécifie l'action à effectuer si celle-ci échoue en raison d'une erreur temporaire.

Configurer des stratégies de gestion des exceptions

Pour configurer une stratégie de gestion des exceptions pour une tâche, procédez comme suit:

  1. Cliquez sur la tâche existante dans votre éditeur d'intégration. Le volet de configuration de la tâche s'affiche.
  2. Dans le volet de configuration de la tâche, développez la section Traitement des erreurs. L'image suivante montre la section Gestion des erreurs:

    Stratégie de traitement des erreurs Stratégie de traitement des erreurs

    Dans la section Gestion des erreurs, procédez comme suit:

    1. Pour ajouter une stratégie de défaillance, cliquez sur + Ajouter une stratégie de défaillance. Si plusieurs règles de défaillance conditionnelle sont configurées, elles sont vérifiées et mises en correspondance dans l'ordre.
      1. Dans le champ Stratégie de nouvelle tentative, sélectionnez la stratégie de gestion des exceptions que vous souhaitez utiliser. Pour obtenir la liste des stratégies, consultez la section Stratégies de nouvelle tentative.
      2. Dans le champ Retry condition (Condition de nouvelle tentative), saisissez la condition qui doit correspondre à l'erreur pour que cette stratégie d'erreur s'exécute. Par exemple, pour une tâche Appeler un point de terminaison REST, pour exécuter la stratégie d'erreur si le code d'erreur correspond à 404, saisissez ce qui suit:
        $`ErrorInfo.code`$ = 404
        Pour savoir comment ajouter ces conditions, consultez la section Conditions de nouvelle tentative.
    2. Dans la section Règle d'erreur par défaut, ajoutez la règle par défaut qui doit être appliquée si aucune règle d'échec conditionnel ne correspond. La stratégie de défaillance par défaut est facultative.
    3. Dans la section Collecteur d'erreurs, ajoutez le collecteur d'erreurs pour votre intégration.

Pour en savoir plus sur les codes d'erreur et la gestion des erreurs, consultez la section Gestion des exceptions.

Stratégies de nouvelle tentative

Les tableaux suivants décrivent les différentes stratégies de traitement des erreurs que vous pouvez utiliser pour une tâche :

Type de stratégie Description
Fatal Arrête l'exécution de l'intégration et définit son état sur Échec.
Ignorer Ignore l'échec de la tâche. L'intégration continue d'exécuter les tâches suivantes en supposant que la tâche ayant échoué a réussi.
Aucune Arrête l'exécution de la tâche et définit l'état de l'intégration sur Échec. Si un autre chemin vers la tâche finale (tâche feuille) existe, les tâches de cet autre chemin sont exécutées. Si toutes les tâches du chemin d'accès secondaire s'exécutent correctement, l'état de l'intégration est défini sur Réussite.
Redémarrer l'intégration avec intervalle entre les tentatives Exécute l'intégration entière à partir de la première tâche. Toutefois, la tâche peut de nouveau échouer. Pour éviter un nouvel échec, spécifiez l'intervalle de temps entre les redémarrages dans le champ "Intervalle avant une nouvelle tentative (en secondes)" et le nombre de tentatives de redémarrage autorisées dans le champ "Nombre maximal de nouvelles tentatives".
Réessayer la tâche avec un intervalle exponentiel entre les tentatives Exécute l'intégration à partir de la tâche ayant échoué. Si la tâche échoue lors d'une nouvelle tentative, l'intervalle de temps entre chaque tentative est augmenté au carré. Un délai de 1 à 5 secondes est ajouté à l'intervalle entre les tentatives.

Par exemple, si la valeur spécifiée de l'intervalle entre les tentatives d'exécution est de 3 secondes, la première nouvelle tentative se produit au bout de 3 secondes. La deuxième nouvelle tentative a lieu au bout de 9 secondes, la troisième nouvelle tentative après 81 secondes, et ainsi de suite. Le processus se poursuit jusqu'à ce que le nombre maximal de nouvelles tentatives soit atteint ou que la tâche ait réussi, selon ce qui survient en premier.

Réessayer la tâche avec un intervalle fixe Exécute l'intégration à partir de la tâche ayant échoué. Si la tâche échoue lors d'une nouvelle tentative, l'intervalle de temps entre chaque tentative reste constant.

Par exemple, si l'intervalle spécifié entre les tentatives d'exécution est de 3 secondes, les nouvelles tentatives se produisent toutes les 3 secondes. Le processus se poursuit jusqu'à ce que le nombre maximal de nouvelles tentatives soit atteint ou que la tâche ait réussi, selon ce qui survient en premier.

Réessayer la tâche avec un intervalle linéaire entre les tentatives Exécute l'intégration à partir de la tâche ayant échoué. Si la tâche échoue lors d'une nouvelle tentative, l'intervalle de temps entre chaque tentative augmente de manière linéaire. Un délai de 1 à 5 secondes est ajouté à l'intervalle entre les tentatives.

Par exemple, si la valeur spécifiée de l'intervalle entre les tentatives d'exécution est de 3 secondes, la première nouvelle tentative se produit au bout de 3 secondes. La deuxième nouvelle tentative a lieu au bout de 6 secondes, la troisième nouvelle tentative après 9 secondes, et ainsi de suite. Le processus se poursuit jusqu'à ce que le nombre maximal de nouvelles tentatives soit atteint ou que la tâche ait réussi, selon ce qui survient en premier.

Nouvelles tentatives avec intervalle entre les tentatives

La limite de simultanéité par défaut est définie sur 50 exécutions pour chaque projet et région. Les exécutions ayant échoué sont mises en file d'attente et relancées à l'aide d'un algorithme d'intervalle exponentiel entre les tentatives, qui augmente progressivement le temps d'attente entre les nouvelles tentatives jusqu'à 10 fois. Exemple :

  1. Exécutez une intégration.
  2. Si la requête échoue, attend 10 minutes et relance la requête.
  3. Si la requête échoue, attend 20 minutes et la relance.
  4. Si la requête échoue, attend 40 minutes et relance la requête.
  5. Et ainsi de suite, jusqu'à atteindre 10 nouvelles tentatives d'intervalle entre les tentatives.

Conditions pour les nouvelles tentatives

La condition de nouvelle tentative spécifie la condition qui doit être remplie pour que la stratégie de gestion des exceptions s'exécute. Le tableau suivant décrit les opérateurs et fonctions compatibles que vous pouvez utiliser dans la condition de nouvelle tentative:

Opérateurs compatibles

Le tableau suivant décrit les opérateurs compatibles pouvant être utilisés dans des conditions de nouvelle tentative.

Opérateur Description Exemple
= Vérifie l'égalité entre deux valeurs. $var$ = "value"
!= Vérifie l'inégalité entre deux valeurs. $var$ != "value"
< Vérifie si une valeur est inférieure à une autre. 5 < 10
<= Vérifie si une valeur est inférieure ou égale à une autre valeur. $var$ <= 5
> Vérifie si une valeur est supérieure à une autre. 1 > 0
>= Vérifie si une valeur est supérieure ou égale à une autre valeur. $var$ >= 0
: Vérifie si une chaîne contient une sous-chaîne ou si une liste contient une valeur primitive spécifique.

$longString$ : "substring"

$list of values$ : "value"

"AND" Vérifie deux expressions et renvoie la valeur "true" si les deux expressions renvoient la valeur "true". $a$ > $b$ AND $b$ < $c$
OU Vérifie deux expressions et renvoie la valeur "true" si l'une des expressions renvoie la valeur true. $a$ > $b$ OR $b$ < $c$
NOT Opérateur de négation. Inverse le résultat d'une expression. NOT($var$ = "value")

Fonctions compatibles

Le tableau suivant décrit les fonctions compatibles pouvant être utilisées dans des conditions de nouvelle tentative.

Fonction Description
exists(VARIABLE) Vérifie si une variable donnée existe.
does_not_exist(VARIABLE) Vérifie si une variable donnée n'existe pas.
is_empty(VARIABLE) Vérifie si une variable donnée est une liste ET est vide. Compatible avec le type de variable de tableau, à l'exception du tableau JSON.
is_not_empty(VARIABLE) Vérifie si une variable donnée est une liste ET n'est pas vide. Compatible avec le type de variable de tableau, à l'exception du tableau JSON.