UpsPls.Travail.PlanifierApres

Procedure Habilitation PlanifierApres(LT : Nul Ou ListeDe Nul Ou Travail, DureeEstimee : Entier=3, PrioriteDuTravail : Entier=2);

Description

La méthode PlanifierApres permet de programmer un travail de la sorte que tous les travaux de la liste LT soient exécutés au préalable. Si la liste LT est Nul, alors le travail peut être exécuté immédiatement. 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;
MonTravail2=P()||MaFile;
MonTravail2.PlanifierApres(ListeDe(MonTravail));
/* Le travail 'MonTravail2' doit être fait après 'MonTravail'. */
...
Fin Principal

Voir aussi

PlanifierAuPlusTot, PlanifierAuPlusTard et PlanifierPeriodiquement pour planifier autrement.

Traduction

---------