Exemple : Planifier des tâches avec des conditions calendaires et horaires

Dans cet exemple, un Schedule automatise l'exécution cyclique de trois tâches, deux Workflows (JOBP.X et JOBP.Y) et un Job (JOBS.AA), chacun avec des contraintes de temps différentes.

Qu'allez-vous apprendre ?

Comment créer un objet Schedule et définir ses paramètres de base.

Comment ajouter des tâches à un Schedule.

Comment définir les heures et les conditions calendaires des tâches.

Comment activer l'objet Schedule et, si nécessaire, réinitialiser une tâche avec le statut TIMEOUT.

Que traite cet exemple ?

Un objet Schedule automatise l'exécution de trois tâches. Chaque tâche doit démarrer à une heure spécifique. Les contraintes de temps suivantes s'appliquent :

Le schedule doit s'exécuter une fois par jour, c'est-à-dire, sa Durée de la période est de 1. Une nouvelle période doit démarrer à 00:00 (heure du changement de période). Il s'agit de l'heure à laquelle les tâches terminées sont supprimées du schedule et rechargées à nouveau pour la prochaine exécution.

Présentation

La liste suivante vous donne une vue d'ensemble des étapes à suivre :

  1. Créer et définir l'objet Schedule
  2. Ajouter des tâches au Schedule
  3. Appliquer des heures et des conditions calendaires aux tâches
  4. Activer l'objet Schedule
  5. Statut ENDED_TIMEOUT - Réinitialiser la Tâche
  6. Que se passe-t-il maintenant?

Créer et définir l'objet Schedule

  1. Connectez-vous à votre client et ouvrez la perspective Conception des processus.
  2. Naviguez jusqu'au dossier dans lequel vous souhaitez créer l'objet Schedule.
  3. Cliquez sur Ajouter objet dans la barre d'outils (vous pouvez également faire un clic droit n'importe où dans la liste et sélectionner Ajouter > Ajouter objet).
  4. Sélectionnez Schedule (JSCH) et cliquez Ajouter.
  5. Les pages de définition du schedule s'ouvrent et affichent la page Schedule. Accédez à la page Attributs.

    Ici, vous pouvez définir les paramètres du Schedule tels que la périodicité (dans notre cas un jour) et l'heure à laquelle la nouvelle période débute (00:00).

    Cliquez pour développer :

Ajouter des tâches au Schedule

  1. Ouvrez la page Schedule.
  2. Cliquez sur la première ligne pour l'activer et cliquez sur l'icône de dossier. Cela ouvre la boîte de dialogue Sélectionnez l'objet.
  3. Cherchez et sélectionnez la première tâche (JOBP.X) et cliquez OK. Elle est insérée dans la liste des tâches.
  4. Cliquez Ajouter une nouvelle ligne sur la barre d'outils et ajoutez les deuxième (JOBP.Y) et troisième (JOBS.AA) tâches au Schedule.

    Par défaut, le statut des tâches ajoutées est Actif. Cela signifie qu'elles seront exécutées selon le Schedule et les paramètres de la tâche que vous allez définir. Si vous décochez cette case, la tâche fait toujours partie du schedule, mais n'est pas exécutée.

Le Schedule contient maintenant toutes les tâches qu'il va automatiser. Maintenant, vous définissez les heures de début des tâches et leurs conditions calendaires.

Appliquer des heures et des conditions calendaires aux tâches

  1. Sélectionnez JOBP.X pour l'activer et saisissez l'heure à laquelle vous souhaitez démarrer son exécution. Dans notre cas, c'est 07:00.

    JOBP.X ne requiert pas d'autres paramètres d'heures ou calendaires, vous pouvez donc continuer avec la tâche suivante.

  2. Sélectionnez JOBP.Y pour l'activer et saisissez 13:00 dans Heure de début.
  3. Cliquez sur le bouton Propriétés de la barre d'outils. Cela ouvre un volet dans la moitié inférieure de la fenêtre qui affiche les propriétés de la tâche.
  4. Sur l'onglet Calendrier, activez la case à cocher Définir les conditions calendaires.
  5. Spécifiez quand vous voulez que la tâche sot exécutée en tenant compte des définitions calendaires. Dans notre cas, c'est Exécuter si une condition correspond.
  6. Ajouter un Calendrier.

    1. Activez la première ligne en cliquant dessus, ou cliquez sur Ajouter une nouvelle ligne pour en ajouter une nouvelle.
    2. Sélectionnez un calendrier dans la liste. Dans notre cas, il porte le nom USEFUL.CALENDAR.

      Vous pouvez également commencer à saisir le nom du calendrier pour activer la fonction "sélection lors de la saisie".

    3. Sélectionnez un événement de calendrier. Dans notre cas c'est FIRST_OF_MONTH.
  7. Sélectionnez JOBS.AA pour l'activer et saisissez 19:00 comme Heure de début.
  8. Assignez-lui un Calendrier et un événement de calendrier tel que décrit ci-dessus. Dans notre cas, c'est de nouveau USEFUL.CALENDAR, mais l'événement de calendrier est MERCREDI.

L'objet Schedule est prêt. Maintenant, vous devez l'activer.

Activer l'objet Schedule

Développez le bouton Exécuter de la barre d'outils et sélectionnez Exécuter une fois. Le Schedule est démarré. Un message s'affiche en haut de la fenêtre, qui le confirme.

Ce Schedule est maintenant en statut Actif, ce qui signifie qu'il exécutera la première tâche aussitôt que toutes les conditions requises sont respectées, considérant l'Heure de changement de période et la Durée de la période ainsi que l'Heure de début et la Condition calendaire de chaque tâche.

Vous pouvez ouvrir la perspective Surveillance des processus et la recherche dans la liste des tâches pour le vérifier.

Pour vérifier le statut des tâches dans le schedule et suivre leur progression, modifier leurs paramètres, ouvrir les données et les rapports d'exécution, etc., vous avez besoin du Moniteur de schedules. Cliquez sur Dernier moniteur dans la barre d'outils pour l'ouvrir.

Statut ENDED_TIMEOUT - Réinitialiser la Tâche

Dans notre exemple, JOBP.X a un statut différent, c'est-à-dire ENDED_TIMEOUT - Heure de début dépassée. Ceci est parce que l'Heure de début est réglée à 07:00 et que nous avons défini le Schedule, ajouté JOBP.X et défini son Heure de début après 07:00 aujourd'hui. JOBP.X n'a pas d'autre restriction d'heure/date, il doit s'exécuter chaque jour, c'est-à-dire qu'aujourd'hui le Schedule a manqué une exécution.

Pour activer cette tâche et s'assurer que le Schedule la traite adéquatement, sélectionnez-la et cliquez Réinitialiser la tâche.

Le résultat de cette action est l'exécution immédiate de JOBP.X.

Que se passe-t-il maintenant?

  1. Aussitôt que l'heure de changement de période arrive, les tâches prennent le statut Attente d'heure d'exécution.

  2. À 07:00, la tâche JOBP.X devient Active ; elle s'exécute. Les deux autres tâches sont encore en statut d'attente jusqu'à 13:00 et 19:00 respectivement :

  3. À la fin de la journée, JOBP.X s'est terminée OK alors que les deux autres tâches sont inactives, car les conditions calendaires ne leur ont pas permis de s'exécuter. JOBP.Y doit s'exécuter le premier jour du mois et JOBS.AA uniquement les mercredis ; aucune de ces conditions ne s'applique le lundi 31 mars :

  4. Le jour suivant les tâches sont chargées à nouveau à minuit et sont en attente de leurs Heures de début :

  5. Le mardi 1er avril, JOBP.X s'exécute à 07:00 et JOBP.Y à 13:00 (c'est le premier jour du mois, donc les conditions calendaires sont respectées). JOBS.AA ne s'exécute pas, car ce n'est pas un mercredi :

  6. Le jour suivant, JOBP.X s'exécute à 07:00 et JOBS.AA à 19:00 (c'est un mercredi). JOBP.Y ne s'exécute pas, car ce n'est pas le premier du mois :

Liens utiles

Cet exemple inclut des références vers un certain nombre de fonctions que vous souhaiterez peut-être connaître un peu mieux.