Version de développement
Cette documentation décrit la version « next » (develop), non encore publiée. Pour la version stable, basculez sur « v5 » dans l'en-tête.
Automatisations

File d'attente et exécution

Comprendre comment la file d'attente exécute les flux d'automatisation en arrière-plan, sans doublon, et comment suivre chaque exécution.

Un flux d'automatisation ne s'exécute pas pendant l'enregistrement du document. Le déclenchement est d'abord placé dans une file d'attente. Une tâche en arrière-plan la traite ensuite.

Fonctionnement de la file d'attente

Le document File d'attente des déclencheurs (Automation Trigger Queue) contient une ligne par déclenchement en attente.

  1. À l'enregistrement, le moteur ajoute une ligne au statut « Pending ». Une ligne avec une date d'exécution future est au statut « Scheduled ».
  2. Après la validation de la transaction, une tâche de fond prend les lignes par lots. Une tâche planifiée passe aussi toutes les cinq minutes.
  3. Chaque ligne s'exécute dans son propre point de sauvegarde. Une erreur sur une ligne n'annule pas les autres lignes du lot.
  4. Une ligne terminée avec succès est supprimée. Une ligne « Failed » ou « Skipped » est conservée, puis supprimée par le nettoyage quotidien.

Pas de doublon

Un même flux ne peut avoir qu'une ligne en attente par document. Exemple : un utilisateur enregistre un client deux fois en dix secondes. Le moteur garde une seule ligne et la met à jour avec le dernier déclenchement. Le flux s'exécute une fois, sur le document tel qu'il est au moment du traitement.

Boucles

Un flux peut modifier un document qui déclenche un autre flux. Le moteur compte cette profondeur. Au-delà de la Profondeur maximale de récursivité (3 par défaut), il refuse le déclenchement et l'inscrit dans le journal des erreurs.

Suivre les exécutions

Le document Exécution d'automatisation (Automation Run) trace chaque exécution d'un flux. Il contient :

  • le statut : « Running », « Waiting », « Success », « Partiellement en échec », « Failed » ou « Skipped » ;
  • le document de référence et l'utilisateur d'exécution ;
  • les heures de début et de fin ;
  • un résumé de l'erreur ;
  • la table Étapes, avec le statut, la durée, le message et la trace d'erreur de chaque étape.

Une exécution « Waiting » attend la fin d'une étape « Wait » ou « WaitForEvent ».

Les exécutions sont supprimées après 30 jours par défaut. Changez cette durée dans Paramètres des journaux (Log Settings).

Paramètres d'automatisation

Ouvrez Paramètres d'automatisation (Automation Settings) avec la recherche (Ctrl+K).

ChampValeur par défautRôle
Désactiver les automatisationsDécochéArrête tous les déclenchements du site. Les lignes déjà en file restent en place.
Profondeur maximale de récursivité3Nombre de fois qu'un flux peut en déclencher un autre.
Seuil d'échec10Nombre d'échecs consécutifs avant la désactivation automatique du flux.
Minutes avant blocage d'une exécution30Durée après laquelle une ligne bloquée en « Running » est remise en file.
Nombre maximal de tentatives3Nombre de nouvelles tentatives quand l'exécution échoue hors des étapes du flux.
Drain Seconds0Durée de traitement d'une tâche de fond. 0 la calcule à partir du délai de la file.
Valider en base toutes les50Nombre de lignes traitées entre deux validations en base.
Jours de conservation de la file7Durée de conservation des lignes « Failed » et « Skipped ».
Taille maximale de sortie d'une étape65536Taille maximale, en octets, de la sortie d'une étape transmise aux suivantes.
Event Payload Limit65536Taille maximale, en octets, des données d'un événement personnalisé.
Autoriser les événements non déclarésDécochéAccepte les événements qu'aucune application n'a déclarés.
Le moteur d'automatisations est en phase bêta. Ses paramètres peuvent évoluer.