UpsPls.Travail.PlanifierAuPlusTot

Procedure Habilitation PlanifierAuPlusTot(DateDebut : Date, DureeEstimee : Entier=3, PrioriteDuTravail : Entier=2);

Description

La méthode PlanifierAuPlusTot permet de programmer un travail en fixant une date minimale de déclenchement donnée par le paramètre DateDebut. Le travail ne s'exécutera qu'une seule fois. Il n'est pas périodique.

Les travaux dans la file sont ordonnés en fonction des contraintes temporelles ou séquentielles. Pour cela, l'ordonnanceur a besoin de connaître une estimation de la durée de chaque travail. Pour ce nouveau travail à introduire dans la file d'attente, la durée estimée est donnée par le paramètre DureeEstimee exprimé en secondes.

Lorsque deux travaux sont en conflits de date, le plus prioritaire est sélectionné le premier. La priorité est donnée par le paramètre Priorité. Une priorité de 1 signifie que le travail a une priorité plus élevée que la normale. Une priorité de 2 signifie que le travail à une priorité normale. Une priorité de 3 signifie que une priorité plus basse que la normale. La priorité influence l'ordre de sélection mais aussi la priorité de la tâche exécutant le travail.

Un travail doit être planifié pour être traité. Il peut être replanifié tant qu'il n'est pas exécuté.

Si la machine est saturée, les contraintes de planification peuvent ne pas être respectées.

Exemple

Variable
/******/

FileDAttente
/**********/

/****************************************************************/
Procedure P(A : Entier Entree Sortie)
/* Objet : Procedure quelconque. */
/****************************************************************/
Debut
Ecran.Ecrire("P="+Caractere(A));
Fin Procedure

Principal
/*******/
Debut
...
MonTravail=P()||MaFile;
MonTravail.PlanifierAuPlusTot(DateSysteme().AjouterJours(1));
/* Le travail 'MonTravail' ne doit pas être fait avant demain. */
...
Fin Principal

Voir aussi

PlanifierAuPlusTard, PlanifierApres et PlanifierPeriodiquement pour planifier autrement.

Traduction

---------