Ecriture de règles de lancement d'OF personnalisées

Remarque:  Pour consulter un récapitulatif de la procédure de création des règles personnalisées, reportez-vous à la rubrique Ecriture de règles d'ordonnancement personnalisées. Pour plus de détails sur les fonctions décrites dans cette rubrique, reportez-vous au manuel Scheduling Customization Guide qui peut être téléchargé sur notre site Web de support .

Les règles de lancement d'OF dans l'écran Contrôle atelier (param) permettent de déterminer la séquence d'ordonnancement pour les OF avec la même date et heure de lancement.

Nom de la fonction

Votre fonction personnalisée peut porter n'importe quel nom qui n'est pas un nom de fonction standard exécutable par l'utilisateur.

Arguments

Cndensé


#include "factor.h"
double myrule(op)
ORDER  *op;  /* pointer to the job. */

Cette fonction doit accepter un OF (type : ORDER*) comme seul argument.

Valeur de retour

La fonction doit retourner la valeur de classement de l'OF (type : double).


double orrl (ORDER *op)
/*-----------------------------------------------------------------
     Ranking function to cause new jobs to be ranked on a high-to-low priority.
     ARGS:
       op - pointer to job for which to evaluate ranking rule
     RETURNS: job-ranking value
-----------------------------------------------------------------*/
{
     return((double) -op->orprio);
}

Installation de la fonction personnalisée

Pour rendre votre fonction de lancement d'OF personnalisée disponible pour l'ordonnancement, vous devez l'"installer" à partir de la fonction d'initilisation ucini1 en appelant la fonction sedfok. La fonction sedfok a deux arguments :

  1. Le numéro de la règle de lancement d'OF pour laquelle votre fonction de lancement contient une logique personnalisée.
  2. L'adresse de votre fonction de lancement d'OF.

Par exemple, pour installer la règle exemple "orrl" ci-dessus dans la position de règle 39 :


sedfok (39, orrl);
Rubriques liées