Exécuter un Workflow
Les objets Workflow automatisent l'exécution de plusieurs tâches. La logique du workflow est définie à l'aide de paramètres, de conditions et de dépendances, à la fois dans le workflow et dans ses tâches. Une intervention manuelle n’est nécessaire que si vous le définissez ainsi.
Afin de comprendre la manière dont se comportent les workflows, lisez d'abord les chapitres suivants :
-
Étapes d'exécution des tâches :
- Logique des workflows
Cette rubrique contient les sujets suivants :
Présentation
Lors de la conception d'un workflow, vous élaborez la logique de base en insérant des tâches dans une séquence spécifique, et en les reliant. Cependant, il existe bien d'autres paramètres qui permettent d'affiner cette logique pour créer des structures complexes et intelligentes.
Lorsqu'un workflow est activé, toutes ses tâches (même les enfants de workflows intégrés) s'activent l'une après l'autre. Cependant, le moment où les tâches enfants sont générées dépend des facteurs suivants :
-
Dans la Page Attributs d'un objet exécutable, vous devez définir le moment de la génération : à l'activation ou à l'exécution. Ce paramètre est important pour les tâches insérées dans des workflows.
- L'heure de génération d'une tâche générée à l'activation est probablement proche des heures d'activation du workflow et des tâches enfants. Cela signifie que, par exemple, leurs scripts sont traitées très tôt dans le processus d'exécution du workflow.
- L'heure de génération des tâches générées à l'exécution peut varier selon les dépendances d'heure et de statut de chaque tâche. Leurs scripts sont traités ultérieurement, lorsque le workflow atteint la tâche.
Conseil : Si l'option Générer à l'exécution est définie dans la plupart des tâches, le workflow est activé plus rapidement.
-
Conditions calendaires
Les objets Calendriers (CALE) et Événements de calendrier déterminent les dates applicables à l'exécution des tâches en tant que conditions de temps. Les calendriers peuvent faire que certaines tâches seront ignorées à certaines dates. Pour plus d'informations, voir Onglet Calendrier.
-
Dépendances de temps
Il est possible de spécifier une date (basée sur la Date réelle) et une heure avant laquelle une tâche ne pourra pas démarrer. Il est également possible de spécifier une date après laquelle une tâche ne pourra ni démarrer, ni se terminer (également basée sur la date réelle). Pour plus d'informations, voir Heure & dépendances.
-
Définition de points de contrôle
Les points de contrôle vérifient que les dépendances d'une tâche correspondent et qu'elle a démarré aux heures définies. Si une tâche ne démarre pas, le point de contrôle peut activer l'exécution d'une autre tâche à la place. Ceci se définit également dans l'onglet Heure & dépendances.
-
Dépendances de statut
L'exécution ou la non exécution d'une tâche peut également dépendre du statut des autres tâches dans le workflow. Ceci se définit également dans l'onglet Heure & dépendances.
-
Préconditions
Lors de la génération d'une tâche, le système évalue ses préconditions. Si ces dernières ont été définies, l'exécution de la tâche et du workflow dépendent du fait qu'elles aient ou non été remplies.
-
Définition de points de contrôle
Il est possible d'appliquer des points de contrôle à des tâches particulières. Le point de contrôle interrompt l'exécution du workflow lorsque ce dernier atteint la tâche. Pour plus d'informations, voir Onglet Général.
Les objets PromptSet sont évalués juste avant qu'une tâche soit générée. L'heure de génération d'une tâche dépend de ses Paramètres de génération.
En général, aucune interaction de l'utilisateur n'est nécessaire pour remplir des formulaires PromptSet puisque leurs valeurs par défaut peuvent être définies dans l'Onglet PromptSets. Cependant, il est possible de modifier ce comportement et de forcer l'affichage de formulaires PromptSet à l'écran pour que les utilisateurs puissent les saisir. Leur heure d'affichage exacte dépend de ce qui est sélectionné dans les propriétés de la tâche (onglet Général).
Pour plus d'informations sur la configuration des dépendances, voir l'Onglet Général.
Accélérer l'achèvement d'un Workflow
Les utilisateurs administrateurs peuvent configurer le système pour qu'il accélère l'exécution de certains workflows.
En général, les tâches sont incluses dans plusieurs workflows. Les workflows contenant ces tâches peuvent démarrer approximativement au même moment. Cela signifie que ces workflows partagent les ressources de l'agent ou des groupes d'agents sur lesquels sont exécutées les tâches courantes. Le comportement par défaut du système est que les workflows exécutent la première tâche, puis la seconde, puis la troisième, etc. Le résultat est qu'ils doivent souvent attendre les ressources de l'agent. Le système alloue les ressources en fonction des paramètres suivants :
- Automation Engine Priorité affectée à la tâche
- Mécanisme FIFO ("first in - first out" = premier entré, premier sorti)
Les utilisateurs administrateurs peuvent optimiser ce comportement dans le code WF_COMPLETION_ACCELERATION de la variable système UC_CLIENT_SETTINGS. En appliquant la valeur ABSOLUTE, le système prend en compte un paramètre supplémentaire après la priorité et avant le mécanisme FIFO. Les workflows contenant le nombre le plus élevé de tâches déjà terminées sont prioritaires lors de l'allocation des ressources. Avec cette fonction, l'ordre d'exécution se base sur les paramètres suivants :
- Automation Engine Priorité affectée à la tâche
- Taux de finalisation de la tâche
- Mécanisme FIFO ("first in - first out" = premier entré, premier sorti)
Pour plus d'informations, voir UC_CLIENT_SETTINGS - Divers paramètres du client.
Impact des erreurs de script
L'impact des erreurs de script dépendent de l'heure de génération :
- Si la tâche d'un workflow est générée au même moment que le workflow et qu'elle présente une erreur de génération, la génération du workflow est annulée.
- Si une erreur de génération survient dans un objet dans lequel l'option Générer à l'exécution est activée, l'objet est annulé. Le workflow se poursuit.
Surveiller ou modifier un Workflow
Vous pouvez afficher et modifier l'exécution d'un Workflow dans la perspective Surveillance des processus, à la fois dans le tableau des tâches et dans le moniteur de Workflow.
Les modifications de Workflows s'appliquent à l'exécution en cours. La définition du Workflow en tant qu'objet n'est pas affectée.
Tâches bloquées
Si une tâche est bloquée, le traitement de la branche en cours s'interrompt à partir de l'objet. Une intervention manuelle est requise (pour débloquer la tâche, interrompre ou lancer la tâche suivante, par exemple). Le traitement des autres branches se poursuit. S'il n'y a pas d'autres branches ou si des branches ont déjà été traitées, le statut du workflow est Workflow bloqué.
Voir aussi :