UpsPls.Travail.PlanifierPeriodiquement

Procedure Habilitation PlanifierPeriodiquement(C : Nul Ou Calendrier, DureeEstimee : Entier=3, PrioriteDuTravail : Entier=2);

Description

La méthode PlanifierPeriodiquement permet de programmer un travail qui s'exécutera selon le planning défini par le calendrier C. Si C est Nul, le travail n'est pas planifié. Au cas contraire, le travail s'exécutera périodiquement.

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.PlanifierPeriodiquement(MonCalendrier);
/* Le travail 'MonTravail' doit s'effectuer selon le calendrier 'MonCalendrier'. */
...
Fin Principal

Voir aussi

PlanifierAuPlusTot, PlanifierAuPlusTard et PlanifierApres pour planifier autrement.

Traduction

---------