Fonctions spécifiques à l’événement du workflow
Plusieurs fonctions se rapportent spécifiquement aux événements de workflow.
| Fonction | Description | Objectif | Utiliser | Thread | Source |
|---|---|---|---|---|---|
| registerForEvent (eventName) | Fonction de l’environnement de workflow qui écrit des événements représentés sous forme de chaînes dans le champ wf_executing.registered_events . |
Les événements de workflow ne sont que des chaînes. Lorsqu’une activité enregistrée pour un événement s’exécute, un ensemble d’événements séparés par des virgules est stocké avec l’enregistrement Activité d’exécution du workflow [wf_executing]. Lorsque l’événement est déclenché dans le contexte du workflow, la table wf_executing recherche tous les enregistrements en cours d’exécution qui contiennent la chaîne qui représente l’événement dans le champ wf_executing.registered_events |
Le workflow de variable globale disponible pour tous les enregistrements d’activité de workflow [wf_activity] est la source de l’appel. Par exemple, à partir d’une activité Exécuter un script , un concepteur peut écrire : workflow.registerForEvent('myEventName') ; |
Thread actuel, mutex actuel | Workflow de variable globale |
| unRegisterForEvent (eventName) | Fonction dans l’environnement de workflow qui supprime une valeur de chaîne représentant un événement qui a été écrit dans le champ wf_executing.registered_events . |
Les événements de workflow sont simplement des chaînes écrites dans le champ wf_executing.registered_events . Lorsqu’une activité se désinscrit d’un événement, l’ensemble d’événements séparés par des virgules stockés avec l’enregistrement Activité d’exécution du workflow [wf_executing] est recherché et, si cette chaîne est trouvée, elle est supprimée. |
Le workflow de variable globale disponible pour tous les enregistrements d’activité de workflow [wf_activity] est la source de l’appel. Par exemple, à l’intérieur d’une activité Exécuter un script , un concepteur peut écrire : workflow.unRegisterForEvent('myEventName') ; |
Thread actuel, mutex actuel | Workflow de variable globale |
| fireEvent (eventName) | Fonction de l’environnement de workflow qui examine le contenu du champ wf_executing.registered_events, en comparant son contenu au eventName transmis. |
Les événements de workflow sont simplement des chaînes écrites dans le champ wf_executing.registered_events . Lorsque fireEvent(eventName) est appelé par une activité de workflow, le moteur de workflow met en file d’attente tous les enregistrements en cours d’exécution qui contiennent la chaîne dans le champ inscrit. |
Le workflow de variable globale disponible pour tous les enregistrements d’activité de workflow [wf_activity] est la source de l’appel. Par exemple, à partir d’une activité Exécuter un script , un concepteur peut écrire : workflow.fireEvent('myEventName') ; |
Thread actuel, mutex actuel | Workflow de variable globale |
| fireEvent (eventRecord, eventName) | Fonction de l’environnement de workflow qui envoie un événement à un enregistrement de l’activité [wf_executing] du workflow spécifique. L’eventRecord est un GlideRecord de type wf_executing. |
Cet appel d’événement attend un gestionnaire d’événements onMyEvent dans l’activité représentée dans l’enregistrement d’événement (table Activité d’exécution du workflow [wf_executing]). Lorsque fireEvent(eventRecord, eventName) est appelé par une activité de workflow, le moteur de workflow met en file d’attente l’enregistrement d’exécution spécifique avec cet événement et transmet l’événement dans la définition d’activité pour que le gestionnaire on<eventName> le gère. Cet événement est mis en file d’attente dans son propre mutex, de sorte que la file d’attente actuelle se termine avant que cet événement ne soit traité. | Le script include du workflow contient l’appel pour cela. Par exemple, à partir d’une activité Exécuter un script , un concepteur peut écrire : var w = new Workflow() ; w.fireEvent(executing, eventName) ; |
Thread actuel, mutex actuel | Script include du workflow |
| fireEvent (eventRecordSysId, eventName) | Fonction de l’environnement de workflow qui envoie un événement à un enregistrement de l’activité [wf_executing] du workflow spécifique. eventRecordSysId est le sys_id d’un GlideRecord de type wf_executing. |
Il s’agit de la même chose que fireEvent ci-dessus, sauf qu’il accepte un ID et renvoie l’enregistrement de l’activité d’exécution du workflow [wf_executing]. | Le script include Workflow contient l’appel pour cela. Par exemple, à partir d’une activité Exécuter un script , un concepteur peut écrire : var w = new Workflow() ; w.fireEvent(executing, eventName) ; |
Thread actuel, mutex actuel | Script include du workflow |
| fireEvent (eventRecordSysId, eventName, optionalJSONObject) | Fonction de l’environnement de workflow qui envoie un événement à un enregistrement de l’activité [wf_executing] du workflow spécifique. eventRecordSysId est le sys_id d’un GlideRecord de type wf_executing. |
C’est la même chose que fireEvent ci-dessus, sauf qu’il accepte un objet JSON comme troisième paramètre. Cet objet peut spécifier toutes les données exprimables au format JSON. Vous pouvez également spécifier des fonctionnalités supplémentaires lors de la création d’une activité de workflow. | Le script include Workflow contient l’appel pour cela. Par exemple, à partir d’une activité Exécuter un script , un concepteur peut écrire : var w = new Workflow() ; w.fireEvent(executing, eventName, JSONObject) ; |
Thread actuel, mutex actuel | Script include du workflow |
| broadcastEvent (contextId, eventName) | Fonction de l’environnement de workflow qui envoie un événement à tous les enregistrements de l’activité [wf_executing] d’exécution du workflow en cours d’exécution dans un contexte spécifié, quel que soit leur état. | Il s’agit de la même chose que fireEvent ci-dessus, sauf qu’il accepte un ID et renvoie l’enregistrement de l’activité d’exécution du workflow [wf_executing]. | Le script include Workflow contient l’appel pour cela. Par exemple, à partir d’une activité Exécuter un script , un concepteur peut écrire : var w = new Workflow() ; w.broadcastEvent(contextId, eventName) ; |
Thread actuel, mutex actuel | Script include du workflow |
| broadcastEvent (eventName) | Fonction de l’environnement de workflow qui envoie un événement à tous les enregistrements de l’activité d’exécution du workflow [wf_executing] en cours d’exécution dans le contexte actuel, quel que soit leur état. | Cela ne doit pas être confondu avec broadcastEvent ci-dessus. Cet événement n’est disponible que pour les enregistrements de l’activité [wf_executing] d’exécution de workflow actuels. | Cette option n’est disponible que via la variable de workflow globale du contexte actuel. Voici un exemple de son utilisation à partir du script d’une définition d’activité : workflow.broadcastEvent(eventName) |
Thread actuel, mutex actuel | Workflow de variable globale |