Gestion des tâches
Cette fonction permet de créer de nouvelles tâches batch, ou de modifier les caractéristiques des tâches existantes.
Pré-requis
Reportez-vous à la documentation de Mise en oeuvre
Gestion de l'écran
Ecran de saisie
La gestion des tâches batch se fait sur un seul onglet. Une tâche batch est caractérisée par un code qui permettra de l’appeler, et par un certain nombre de caractéristiques techniques définissant le processus à lancer. Une tâche batch peut être :
- soit un programme adonix (traitement)
- soit un état (impression)
- soit une tâche système défini par un fichier de commande (shellscript sous UNIX™, script Windows™)
Une tâche batch est définie soit par le nom d’une fonction, soit par le nom d’un traitement. Si la tâche est définie comme une fonction, on hérite des conditions de passage de paramètres et d’habilitation (sites autorisés, entre autres). Une tâche de ce type peut être incluse dans un groupe de tâches batch.
La plupart des fonctions batch sont dans ce cas, mais quelques rares fonctions, définies par le nom d’un traitement, ne le sont pas.
La création de nouvelles tâches batch de type Traitement suppose de créer un traitement normalisé avec l’AGL adonix, ainsi que de décrire la fonction associée.
Un traitement batch peut avoir besoin de paramètres saisis dynamiquement à chaque soumission de tâche dans un écran de dialogue (cet écran pourra aussi être appelé si la tâche est lancée en direct). La normalisation du développement des tâches batch gère l’appel à un écran de saisie des patramètres, et renvoie les valeurs correspondantes pour l’exécution, soit directement (si la tâche est lancée en direct), soit de façon différée.
Bloc numéro 1
Code tâche (champ CODTAC) |
Une tâche "batch" est un programme qui peut être exécuté par le serveur périodiquement ou à la demande d'un utilisateur. |
Intitulé (champ ZDES) |
Bloc numéro 2
Actif (champ ENAFLG) |
Sélectionnez cette case à cocher pour activer la fiche courante. Les enregistrements non sélectionnés conservent leur contenu et paramétrage, mais ne pourront pas être utilisés en rappelant leur code dans :
Les habilitations sur une fonction donnée peuvent interdire la création d'une fiche active. Dans ce cas, la case est désactivée par défaut. Elle est modifiable uniquement par un utilisateur autorisé, ou via un Workflow de signature. |
Module (champ MODULE) |
Sélectionnez un module pour le paramétrage. Ce champ vous permet de renseigner si l'écran doit être créé dans la base de données du dossier. Il l'est si le module auquel l'écran est rattaché est actif pour le dossier. |
Balise d'éxecution (champ RTTAG) |
Bloc numéro 3
Type tâche (champ TYPTAC) |
Indique s'il s'agit d'un traitement adonix ou d'un script exécuté sur le système d'exploitation (script DOS, shellscript). |
Bloc numéro 4
Time-out (minutes) (champ TIMOUT) |
Permet de spécifier un temps maximum en minutes pour l'exécution de la tâche. Au bout de ce temps, le serveur tuera la tâche (si 0, il n'y a pas de time-out). Attention, cette durée est la durée minimale. Le délai réel au bout duquel la tâche sera arrêtée dépend aussi des paramètres généraux du serveur : en effet, le test d’arrêt des tâches est fait à un intervalle régulier de temps qui peut être défini par paramétrage. |
Retard admissible (minutes) (champ RETARD) |
Permet de spécifier le retard admissible pour le démarrage d'une requête. Une requête qui n'a pas été exécuté à la date prévue de démarrage + retard sera marquée 'hors délai'. La requête peut ne pas démarrer à l'heure pour plusieurs raisons :
Un retard nul indique que la tâche n'a pas de contrainte de délai pour son démarrage. |
Niveau autorisation (champ NIVEAU) |
Ce niveau sera comparé au niveau d'accès de chaque utilisateur qui essaiera de déclencher cette tâche. Il y aura refus si le niveau de l'utilisateur est insuffisant. |
Contraintes horaires (champ HOR) |
Ce code permet d'associer une contrainte horaire d'exécution à la tâche pour limiter ses horaires d’exécution possibles quand elle est soumise directement au serveur batch. Quand elle est soumise par un groupe de tâches, ce sont uniquement les contraintes horaires attachées au groupe qui s’appliquent. Il en va de même lorsqu’on passe par un abonnement : les heures d’exécution ne sont alors pas contrôlées vis à vis du code de contrainte de la tâche, mais par le calendrier d’exclusion qui est défini directement sur l’abonnement. |
Bloc numéro 5
Fonction (champ FONCTION) |
Lorsqu'une tâche batch correspond à l'exécution d'une fonction, on la définit ici. Ceci permet d'initialiser le contexte et la vérification des droits d'accès. |
Script (champ TRAIT) |
On indique ici le nom du traitement ou du script système, lorsque la tâche n'est pas définie par un code fonction. |
champ AIDE |
champ PARAM |
Lorsqu'une tâche batch est définie par une fonction, et que cette fonction admet un paramètre (code # dans la fonction), on saisit ici la valeur de ce paramètre (l'intitulé défini dans le champ Aide de saisie de la fonction est indiqué devant le champ pour guider l'utilisateur). |
Bloc numéro 6
Multi-dossier (champ MULTIDOS) |
Si cette case est cochée, la tâche peut être lancée sur un autre dossier que le dossier courant. On précisera alors le dossier et le code utilisateur au lancement de la requête. |
Mono-utilisateur (champ MONO) |
Si ce paramètre est à oui, la tâche ne pourra être exécutée qu'en mono utilisateur : elle ne s'exécutera pas si le passage en mono-utilisateur est impossible. |
Message - Utilisateur (champ MESSAGE) |
En répondant "oui" à cette question, l'utilisateur qui a lancé la tâche sera averti de sa bonne fin ou non. |
Bloc numéro 7
Annexe technique
Afin d’être conforme aux standards du développement Web, une tâche batch doit répondre aux critères suivants:
- La fonction qui la définit doit faire référence à une action de type "traitement standard" (GTRAITE) qui ne comporte pas de fenêtre principale.
- Elle peut comporter ou non une boîte de dialogue initiale.
- L'action "OUVRE_BATCH" doit comporter les ouvertures de tables nécessaires aux étiquettes de contrôles de ladite boîte de dialogue.
L’ancienne méthodologie d’écriture de tâches batch décrite dans la version 120 reste valable, mais elle conduit à l’écriture de traitements qui ne fonctionneraient qu’en mode client-serveur. Elle est donc fortement déconseillée.