Événements du workflow

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 2 minutes de lecture
  • Le système utilise deux types d’événements : les événements enregistrés de la plateforme et les événements de workflow.

    Événements de plateforme enregistrés

    Les événements enregistrés sont créés dans les règles métier et sont utilisés pour des tâches telles que l’envoi de notifications par e-mail lorsque des enregistrements sont insérés dans la base de données. Les événements de workflow sont enregistrés dans les workflows uniquement et ne sont utilisés nulle part ailleurs dans la plateforme. Les événements de plateforme enregistrés peuvent être déclenchés par un workflow pour une utilisation externe, mais ne peuvent pas être utilisés dans un workflow.

    Événements du workflow

    Les événements de workflow suivent des règles différentes de celles des événements de plateforme enregistrés à l’aide du registre des événements. Les événements de plateforme sont entrés dans la table Enregistrement des événements [sysevent_register] et sont disponibles pour que les processus de plateforme les utilisent. Les événements de workflow sont déclenchés exclusivement pour le moteur de workflow et sont uniquement utilisés pour diriger le travail d’exécution des contextes de workflow. Lorsqu’un événement est enregistré dans un workflow, il est attaché à une activité en cours d’exécution dans la colonne registered_events de la table Activité d’exécution du workflow [wf_executing].

    Les événements de workflow peuvent également être diffusés dans un workflow à partir de n’importe quelle source de scripting ayant accès au contexte de workflow, comme un script include ou une activité Exécuter un script . Dans ce cas, l’événement, tel que l’annulation, est transmis à tous les enregistrements de la table Exécution du workflow [wf_executing] pour un contexte spécifique.

    Que ce soit par registre ou par diffusion, un événement est géré par la définition d’activité associée à l’activité en cours d’exécution. Chaque définition d’activité est associée à un ensemble de gestionnaires. Par exemple, la plupart des activités sont fournies avec des gestionnaires d’événements onExecute, onCancel et onUpdate . À titre d’exemple d’événement plus spécifique, l’activité Approbation - Utilisateur est également associée à onDetermineApprovalState, qui est spécifique au travail de l’activité d’approbation.

    Plusieurs événements parallèles

    Un même workflow peut avoir plusieurs threads d’événements en cours d’exécution simultanément, par exemple lorsqu’un workflow a des minuteurs qui se chevauchent sur des branches de workflow distinctes. Si un thread supplémentaire se termine avant le premier thread, le système stocke les informations sur l’événement du thread supplémentaire dans la table Commandes mises en file d’attente du workflow [wf_command]. Une fois le premier thread terminé, le système récupère les informations stockées par le thread supplémentaire et poursuit le workflow avec les informations d’événement de chaque thread.