Événements

Chaque action importante dans le cycle de vie d'un workflow produit un événement : le workflow a démarré, une activité a été planifiée, une activité s'est achevée, un signal a été reçu, le workflow s'est terminé. Ces événements sont enregistrés dans l'ordre, formant un log en ajout seul appelé historique d'exécution.

Pourquoi les événements comptent

Pourquoi les événements comptent

C'est l'historique d'exécution qui rend l'exécution durable possible. Il constitue la source de vérité de l'état d'un workflow. Lorsqu'un worker doit reprendre un workflow (après un crash, un redémarrage ou une réattribution de tâche), il rejoue l'historique d'exécution depuis le début.

Pendant le rejeu, le code du workflow s'exécute à nouveau depuis le début, mais les activités terminées ne sont pas réexécutées : leurs résultats sont relus depuis l'historique. Le workflow revient exactement au point où il a été interrompu, sans que vous ayez à écrire de code de récupération.

La fiabilité du rejeu repose sur le caractère déterministe du code du workflow. Consultez Workflows > Déterminisme pour connaître la contrainte et la manière dont le SDK l'applique.

Types d'événements

Types d'événements

TypeÉmis quand
WORKFLOW_EXECUTION_STARTEDUne exécution de workflow démarre
WORKFLOW_EXECUTION_COMPLETEDUn workflow se termine avec succès
WORKFLOW_EXECUTION_FAILEDUn workflow se termine sur une erreur non gérée
WORKFLOW_EXECUTION_CANCELEDUn workflow est annulé
WORKFLOW_EXECUTION_CONTINUED_AS_NEWUn workflow réinitialise son historique
WORKFLOW_TASK_TIMED_OUTUne tâche de workflow dépasse le délai imparti
WORKFLOW_TASK_FAILEDUne tâche de workflow rencontre une erreur
ACTIVITY_TASK_STARTEDUne activité démarre
ACTIVITY_TASK_COMPLETEDUne activité se termine avec succès
ACTIVITY_TASK_RETRYINGUne activité est relancée
ACTIVITY_TASK_FAILEDUne activité échoue
Limites de l'historique

Limites de l'historique

Chaque historique d'exécution est limité : 51 200 événements ou 50 Mo, selon la limite atteinte en premier. Pour les workflows qui s'exécutent très longtemps ou qui traitent de très gros volumes de travail, la plateforme fournit un mécanisme appelé continue-as-new, qui permet à un workflow de reporter son état essentiel dans un nouvel historique sans interrompre son exécution.

Note

Les événements décrits ici sont des événements d'historique d'exécution : il s'agit de l'enregistrement interne de la progression du workflow, utilisé pour la durabilité et le rejeu. La plateforme prend également en charge des événements de streaming que des systèmes externes peuvent consommer en temps réel. Ces événements relèvent d'un concept distinct, présenté dans Streaming.