Le scrutateur
Définition
Le scrutateur est le moteur de Processus, c'est lui qui permet l'exécution et l'enchaînement des tâches.
C'est un programme (spppwebscru.dhop) qui doit tourner en permanence pour que les processus fonctionnent.
ATTENTION :
- Eviter de lancer un scrutateur sur un client léger. Le lancer sur le serveur. De préférence avec un utilisateur avec le droit 'HIP'.
- Vérifier que l'utilisateur as bien un dossier d'appartenance dans l'onglet Processus de l'utilisateur.
Lancement du scrutateur
On retrouve les traces des modes TRACE et DEBUG sont dans le fichier logprocessus.log du répertoire DivlatoLog.
Lancement par le menu
- Par le menu Processus / Utilitaires / Scrutateur
- Par le menu Processus / Utilitaires / Scrutateur avec trace (pour un suivi des tâches traitées)
- Par le menu Processus / Utilitaires / Scrutateur en mode DEBUG (pour un suivi plus précis du démarrage du scrutateur et un retour du traitement des tâches)
Lancement à la question programme
A la question programme lancer le programme spppwebscru.dhop
Par un service DIVA
Attention : prendre un utilisateur avec les droits 'HIP' pour lancer le scrutateur. Sinon on ne pourra pas effectuer de changement de droits aux profits du créateur du processus (procuser) lors des tâches de type programme batch
Lancement par un Service Diva
Exemple de chaîne à rajouter dans le fichier DhsServices.txt pour lancement du scrutateur par un Service Diva :
- Pour un lancement en mode TRACE rajouter '<TRACE>1'
- Pour un lancement en mode DEBUG ajouter '<DEBUG>1'
Arrêter le scrutateur
Quand le scrutateur est lancé par le menu on peut l'arrêter en cliquant sur son icône dans la barre des tâches. Un menu PopUp est alors activé il faut choisir "Fin du programme" pour arrêter le scrutateur.
Sinon, on peut l'arrêter en créant un processus "zparret"
Relance du scrutateur
Fonction disponible uniquement à partir des packs suivants :
- Version X.3 pack 213e
- Version X.4 pack 214d
- Version X.5 pack 215c
On peut forcer un arrêt / relance du scrutateur en créant un processus avec une tâche de type "Pas d'action" nommée ZPRELANCE. Ce processus peut être un processus automatique avec une fréquence d'exécution définie.
Le scrutateur s'arrête et se relance de façon automatique si une au moins des conditions suivantes est remplie :
- Le scrutateur à réalisé au moins 100 itérations (vous pouvez définir une autre limite par surcharge de la fonction "Definir_nbIterMax" du module "spttwebscru.dhop")
- Le scrutateur à traité au moins 100 tâches (vous pouvez définir une autre limite par surcharge de la fonction "Definir_nbTacheMax" du module "spttwebscru.dhop")
- Le scrutateur tourne depuis au moins 24 h (vous pouvez définir une autre limite par surcharge de la fonction "Definir_nbHeureMax" du module "spttwebscru.dhop")
Actions du scrutateur
Le scrutateur exécute 5 actions dans l'ordre suivant :
- Traitement des processus automatiques : Cette action recherche les processus automatiques à activer et créé les processus opérationnels associés. Il regarde la périodicité de lancement ainsi que la date du dernier processus généré. Il permet aussi de mettre à l'état périmé les processus automatique modèle avec date de fin échue.
- Traitement des tâches terminées : cette action recherche les tâches terminées des processus en cours, et déclenche les tâches suivantes (les tâches sont mises à l'état "à activer", sauf les tâches manuelles qui sont mise dans l'état "à affecter" ou "à traiter"). Si le code de la tâche terminée commence par "ZPARRET", le scrutateur est arrêté.
- Traitement des tâches à activer : permet d'initialiser les champs de la tâche, d'exécuter les actions avant tâches, et d'exécuter les tâches en état à activer
- Traitement des relances : vérifie le temps d'attente des relances, les exécute le cas échéant.
- Suppression des processus terminé : selon la durée de conservation définie pour le processus
Temps d'attente
Le temps d'attente entre 2 scrutations est paramétrable depuis le menu Administration (Paramètres / Paramètres généraux)
Attention : Si ce temps d'attente n'est pas paramétré ou inférieur à 5 s (5000) il sera forcé à 1 mn (60000)
Scrutation d'un répertoire
A partir de la version X.3 il est possible de traiter des tâches des processus en cours par l'intermédiaire d'un fichier .xml.
C'est le scrutateur qui va vérifier la présence de fichiers à traiter, et s'occuper du traitement des tâches paramétrés dans les fichiers.
Il faut créer un fichier par tâche à traiter.
La structure du fichier est la suivante :
Avec
- USER : l'utilisateur qui sera renseigné comme ayant traité la tâche.
- procno : N° de processus dont la tâche est à traiter
- tachecod : Code de la tâche à traiter.
- Suitecod : Code de la suite à utiliser pour le traitement de la tâche.
Le chemin des répertoires à scruter est défini par un code chemin au niveau des paramétra généraux :
Si aucun chemin n'est spécifié au niveau du paramétrage, c'est le code chemin SP_REP_SCRU qui sera utilisé.
A partir de ce répertoire, le scrutateur va « scruter » tous les sous- répertoires nommés 'Import.
Il créé également trois sous-répertoires de travail :
- En cours : c'est dans ce répertoire que l'on retrouve les fichiers en cours de traitement
- Rejetés : c'est dans ce répertoire que l'on retrouve les fichiers qui ont générées des erreurs lors de leur traitement.
- Traités : c'est dans ce répertoire que l'on retrouve les fichiers qui ont été traités sans erreur.
Les causes d'erreurs peuvent être :
- Le processus opérationnel « procno » n'existe pas ou n'est pas à l'état attendu (« en cours »)
- La tâche « tacheCod » n'existe pas ou n'est pas à létat attendu (« à traiter »)
- La suite de tâche « suitecod » n'existe pas ou n'est pas du type attendu (« suite manuelle »)
Etat des processus opérationnels
1 - En Cours : Processus en cours d'exécution
2 - Suspendu : Non utilisé
3 - Fini : Processus terminé
4 - En erreur : Processus dont le traitement a été interrompu par une erreur.
5 - Non validé : état initial des processus avec 1ère tâche de type manuelle. La validation du formulaire fera passer le processus à l'état "en cours"
6 - Annulé : Processus annulé par son créateur. Ne peut être fait que si aucune étape critique n'a été atteinte.
Remplaçant temporaire
Zoom remplaçant
Le zoom remplaçant permet de gérer des remplaçants par domaine.
Lors de la recherche d'un remplaçant on recherche en premier lieu un remplaçant défini pour le domaine du processus puis le cas échéant un remplaçant défini sans "domaine".
Le remplaçant est recherché lorsque la tâche manuelle passe à l'état "à traiter".
Dans le cas des tâches à traiter par à des membres d'un groupe, la recherche du remplaçant est faite après l'affectation de la tâche.
Tâche envoi de mail
Dans le cas d'une tâche envoi de mail, le remplaçant est ajouté aux destinataires du mail, mais le destinataire initial est conservé.
Tâches de processus opérationnels
Etat des tâches opérationnelles
1 - En attente de signal amont : La tâche attend la fin de la tâche en amont.
2 - à activer : Etat d'une tâche non manuelle qui vient d'être déclenchée par le scrutateur. Sera traiter par le scrutateur.
3 - à affecter : Etat d'une tâche manuelle qui doit être effectué par un membre d'un groupe. On la retrouve dans les tâches en cours des utilisateurs du groupe.
4 - à traiter : Etat d'une tâche manuelle qui vient d'être déclenchée par le scrutateur. Où qui vient d'être affectée à un membre du groupe. On la retrouve dans les tâches en cours de l'utilisateur concernée.
5 - En cours : tâche en cours de traitement
6 - Terminée : tâche dont le traitement est terminé. C'est le scrutateur qui déclenchera les tâches suivantes et passera l'état à "finie"
7 - Finie : Tâches "terminées" traitées par le scrutateur ou tâches bloquées suite à l'option "Etape à bloquer" d'une suite de tâche manuelle
8 - Erreur : Tâche dont le traitement a déclenché une erreur bloquante. Le processus sera également mis à l'état "en erreur"
9 - Annulée : Tâche d'un processus annulé par son créateur.
10 - Bloquée : Tâche bloquée lors de l'exécution du processus.
Traitement des tâches en cours
Chaque utilisateur peut voir ses tâches encours (Tâches "à affecter" et tâches "à traiter") soit dans le widget dédié soit le zoom des tâches en cours, accessible par le menu Processus/Gestion des processus/Tâches encours.
Zoom des tâches encours.
Pour traiter une tâche : utiliser le bouton "traiter" ou double-clic sur la tâche.
Exemple d'affectation d'une tâche
Après affectation d'une tâche à soi-même on passe directement au traitement de la tâche.
Exemple de traitement d'une tâche validation de congés : le choix est Accord ou Refus