Événements du workflow dans le système de base
Plusieurs événements de workflow sont disponibles dans le système de base.
| Événement | Description | Objectif | Utilisation | Source | Thread | Écouteurs |
|---|---|---|---|---|---|---|
| activitéterminée | Valeur de chaîne utilisée par les définitions d’activité pour répondre au gestionnaire d’événements onActivityComplete . | Informe les enregistrements de la table Activité d’exécution du workflow [wf_executing] de l’achèvement d’autres activités dans le même contexte de workflow. | Si l’activité est autorisée à définir la valeur booléenne pour wf_executing.notify_termination, définissez la valeur sur vrai (activity.notify_termination = vrai) pendant l’événement onExecute . |
Moteur de workflow, Terminaisons de processus | Thread actuel, mutex actuel | Rejoindre l’activité |
| otherEvent | Valeur de chaîne utilisée par l’activité Join pour répondre à un otherEvent. | Informe les enregistrements de la table Activité d’exécution du workflow [wf_executing] d’un autre événement terminé. | L’activité Joindre fait la transition à partir d’un nombre n d’activités précédentes. Ces activités précédentes créent toutes un enregistrement wf_executing, ce qui oblige à vérifier si l’enregistrement existe déjà. Si la jointure existe déjà, la jointure créée par l’exécution de la transition entraîne la suppression de l’enregistrement wf_executing. | Rejoindre l’activité | Thread actuel, mutex actuel | Rejoindre l’activité, gestionnaire d’événements onOtherEvent |
| minuteur | Valeur de chaîne utilisée par les activités du workflow pour répondre à une activité de minuteur qui a expiré. | Permet aux enregistrements wf_executing d’être informés d’une activité de minuteur qui s’est terminée et qui a déclenché l’événement de minuteur. | L’activité de minuteur planifie une tâche qui appelle un script. Le script appelle fireEvent (wf_executing, timer). | Activité du minuteur via une tâche planifiée | Thread de l’agent, mutex privé | Activité du minuteur, gestionnaire d’événements onTimer |
| execute | Valeur de chaîne utilisée par les activités du workflow pour répondre à une activité de minuteur qui a expiré. | Informe un enregistrement de la table wf_executing avec l’état initial En cours d’exécution pour poursuivre son travail principal. | Le moteur de workflow, pour chaque transition exécutée, crée un enregistrement en cours d’exécution avec l’état En cours d’exécution. Une fois créé, l’enregistrement en cours d’exécution est placé dans une file d’attente pour traitement. Pour chaque élément de la file d’attente, les globaux de Rhino sont établis, la définition d’activité qui pilote l’enregistrement en cours d’exécution est instanciée et la fonction run() est appelée. Lorsque l’état d’un enregistrement est en cours d’exécution, cette fonction fait toujours appel à onExecute. | Moteur de workflow, via le gestionnaire WFActivity | Thread actuel, mutex actuel | Toutes les activités, gestionnaire d’événements onExecute |
| exécuter (spécifique à Lock) | Valeur de chaîne utilisée par l’activité Verrouiller pour répondre à un verrou en attente qui est prêt à faire une nouvelle tentative pour obtenir un verrou spécifique. Cette exécution est différente de l’exécution précédente car elle est appelée sur un thread séparé, à des intervalles spécifiés, et est traitée comme un événement extérieur. | Informe un enregistrement de wf_executing en attente d’exécution que l’intervalle d’attente spécifié est écoulé et qu’il doit tenter à nouveau d’obtenir le verrou. | Verrouiller l’activité planifie une tâche à l’aide d’un script qui utilise la méthode fireEvent(wf_executing, « exécuter ») de l’include de script de workflow. | Verrouiller l’activité via une tâche planifiée | Thread de l’agent, mutex privé | Verrouiller l’activité, gestionnaire d’événements onExecute |
| determineApprovalState | Valeur de chaîne utilisée par les activités d’approbation pour répondre à un changement dans l’état d’approbation global de l’enregistrement actuel. | Informe les enregistrements wf_executing pour les activités d’approbation d’une approbation qui a terminé et déclenché l’événement de minuteur. | Le coordinateur d’approbation s’inscrit à l’événement et déclenche l’événement. Les approbations enfants ont des écouteurs qui déterminent leur état d’approbation. | Le coordinateur d’approbation déclenche l’événement lors de son onExecute | Thread actuel, mutex actuel | Le coordonnateur d’approbation, l’approbation – utilisateur et l’approbation – groupe ont tous des gestionnaires d’événements onDetermineApprovalState . Si l’état est autre que Demandé, l’activité est considérée comme terminée et l’état d’approbation (Approuvé, Rejeté, Annulé) est défini sur la colonne wf_executing.result |
| Annuler (à partir des définitions d’activité) | Valeur de chaîne utilisée par les activités du workflow pour répondre à une demande d’annulation. | Informe tous les enregistrements wf_executing dans un contexte que le workflow est en cours d’annulation. | L’activité de fin utilise le workflow.broadcastEvent('cancel') global pour interrompre les enregistrements de wf_executing en cours d’exécution. Cela modifie l’état de ces enregistrements en Annulé. | Fin de l’activité | Thread actuel, mutex actuel | Toutes les activités, gestionnaire d’événements onCancel |
| Annuler (en dehors du contexte actuel) | Valeur de chaîne utilisée par les activités du workflow pour répondre à une demande d’annulation. | Cet événement est identique à l’événement d’annulation ci-dessus et géré de la même manière. Cependant, la gestion de cet événement est subtilement différente. Cet événement informe tous les enregistrements wf_executing dans un contexte que le workflow est en cours d’annulation. L’événement est géré via le gestionnaire d’événements onCancel de chaque définition d’activité en cours d’exécution, mais l’événement est appelé différemment. En particulier, l’appel d’annulation depuis l’extérieur d’une définition d’activité est bloqué par le mutex actuel. Il s’agit d’une différence significative dans la mesure où l’événement n’interrompt pas une activité en cours d’exécution qui fonctionne toujours dans les paramètres du mutex actuel. | N’importe quel script peut appeler cancel dans un contexte d’exécution connu via le script include de workflow. Par exemple, var w = new Workflow() ; w.cancel(context) ; //where context est un GlideRecord du contexte à annuler. |
Tout include de script, tâche planifiée, action d’interface utilisateur ou autre source | Thread actuel, mutex privé | Toutes les activités, gestionnaire d’événements onCancel |
| arrêter (voir Fin de l’activité) | L’activité de fin recherche cet événement. | Si l’événement stop est l’événement actuel, l’opération d’annulation de l’activité End est contournée. | Seulement dans l’activité de fin . | N’importe quel script peut déclencher ou diffuser l’événement d’arrêt via un include de script ou une activité de script d’exécution de workflow | Thread actuel, mutex actuel | Cet événement est utilisé par l’activité Fin pour exclure l’activité Annuler et permettre à un workflow de se terminer, même s’il est annulé. |
| auditeur | Valeur de chaîne que l’activité de workflow (flux secondaire) déclenche en tant qu’événement. | Lorsqu’un workflow principal appelle un flux secondaire, le workflow conserve l’ID du contexte du flux secondaire dans le bloc-notes. Lorsque le flux secondaire est terminé, il déclenche l’événement d’écouteur via une règle métier. | L’événement d’écouteur est transmis au contexte parent à la fin d’un flux secondaire et est géré par l’action onListener de l’activité de workflow. | Règle métier déclenchée par la mise à jour d’un workflow qui a un parent | Thread actuel, mutex actuel | Cet événement est utilisé par un flux secondaire pour informer son flux parent qu’il est terminé. Le workflow parent réagira à cet événement et continuera. |
| probe_complete | Valeur de chaîne déclenchée dans le workflow par une activité d’orchestration indiquant que le serveur MID a terminé une tâche. | L’événement probe_complete est déclenché à partir des processeurs de capteurs Orchestration via la fonction d’aide au workflow handleEventById. | Le gestionnaire d’événements onProbe_complete se trouve dans WebServiceActivityHandler et est utilisé par la plupart des activités d’orchestration. | Événement utilisé pour reformuler un workflow qui attend que le MID Server traite une tâche ou une activité | Thread de l’agent, mutex privé | Activités d’orchestration |
| mise en pause | Valeur de chaîne envoyée à un workflow à partir d’un SLA pour mettre en pause l’activité du minuteur . | Lorsqu’un SLA est mis en pause, les workflows SLA doivent être mis en pause si un minuteur est en cours d’exécution. | L’utilisation est propre au minuteur SLA | SLA | Thread de règle métier, mutex privé | Activité du minuteur |
| reprendre | Valeur de chaîne utilisée par l’activité Minuteur pour reprendre un minuteur en pause (voir pause). | Lorsqu’un SLA reprend, les workflows SLA doivent également reprendre. | L’utilisation est exclusive au minuteur SLA. | SLA | Thread de règle métier, mutex privé | Activité du minuteur |