Événements du workflow

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 2 minutes de lecture
  • Le système utilise deux types d’événements : les événements de plateforme enregistrés 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 d’événements. Les événements de plateforme sont saisis dans la table Inscription d’événement [sysevent_register] et sont disponibles pour être utilisés par les processus de plateforme. Les événements de workflow sont déclenchés exclusivement pour le moteur de workflow et sont utilisés uniquement pour diriger le travail d’exécution des contextes de workflow. Lorsqu’un événement est enregistré dans un workflow, il est joint à 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 vers un workflow à partir de n’importe quelle source de scripting ayant accès au contexte du workflow, telle qu’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 traité 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 associées à 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 propre au travail de l’activité d’approbation.

    Plusieurs événements parallèles

    Un seul 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 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.