Fonctionnalité Loop Until Success de DI-Production

look-until-successLe nœud Loop d'origine essayait chaque élément dans sa liste une seule fois.

  • il peut y avoir des moments où vous souhaitez que la boucle réessaye un élément défaillant jusqu'à un moment spécifique.
  • pourquoi: Vous avez un nœud Loop (boucle) extrayant de nombreuses tables. Les tables deviennent prêtes à des moments différents. Si la table X n'est pas prête vous souhaitez que la boucle passe à la prochaine table et essayer à nouveau la table X à un moment ultérieur. À un certain point, la boucle devrait arrêter d'essayer et de passer avec le processus.
  • Retry Settings (Réessayer les paramètres) a été ajouté au nœud Loop (boucle)
  • Seconds between Retry est un délai qui sera ajouté après que la dernière itération soit tentée et avant
    la première itération ayant échoué et qui sera tentée à nouveau.
  • DI-Production ne va pas attendre la complétion de toutes les itérations à terminer avant de faire une boucle arrière pour tenter les essais à nouveau.
  • si le moteur atteint le Cuttoff Time (heure de coupure), toutes les itérations en cours d'exécution seront terminées, mais aucune nouvelle itération (y compris celle qui n'a jamais été tentée) sera lancée.

look-until-success2Une défaillance dans la réalisation de n'importe quelle itération va compter pour le nœud Loop dans l'évaluation de son échec global.

  • les itérations de la boucle qui ne sont pas essayées avant l'heure de coupure sont considérées comme étant en échec.
  • si le type d'échec pour le nœud Loop est réglé sur "All", toutes les itérations de la boucle doivent échouer pour que la Boucle globale soit à l'échec, sinon le statut de la boucle sera défini sur "Success".
  • si le type d'échec pour le nœud Loop est réglé sur "Any", alors n'importe quelle itération de la boucle en échec entrainera une défaillance globale de la boucle. Toutes les itérations doivent se terminer avec succès pour la réussite de la boucle.

iterations-log

iterations-log2

loop1

Dans certains cas, vous devrez peut-être forcer un échec du traitement de la boucle si le traitement n'est pas prêt à être exécuté.