Next: , Previous: Classe JobInfo, Up: Classes utilisateur


2.2.3.9 Parametre

Les objets de la classe Parametre se comportent comme des maps STL, dont ils ont les fonctionnalites, decrivant les parametres d'execution du job.

Contrairement aux variables d'environnement qui sont decrites par les objets de la classe Environnement, les parametres d'execution servent a preciser les contraintes qui pesent sur le job, comme par exemple la duree maximale d'execution autorisee, la quantite maximale de memoire utilisable ou la queue de soumission, ou bien a renseigner le job avec des informations specifiques a l'utilisateur, comme son username, son adresse email, le code d'imputation du job, etc.

En raison du caractere tres specifique et precis des informations qui doivent etre fournies au gestionnaire de batch, une nomenclature est proposee par la classe Parametre qu'il est vivement conseille de suivre. De plus tout a ete fait pour rendre cette ecriture naturelle et facile, donc il ne devrait pas y avoir de probleme pour l'utiliser.

Ainsi, a titre d'exemple, pour preciser le temps maximal autorise pour un job, il faut creer une clef de nom maxcputime dans un objet de classe Parametre qui sera ensuite passe au job. Et pour preciser le code d'imputation du job, il faut creer une clef de nom account.

Mais cet exemple simple montre que la valeur associee a la clef maxcputime est semantiquement une duree, et que la valeur associee a la clef account est semantiquement un nom. On a donc un probleme de type puisque dans la definition d'une map STL le type de la valeur doit etre le meme, et ce meme si les valeurs doivent par la suite avoir des types semantiques differents. C'est pourquoi on a definit une classe Versatile qui encapsule des types differents. See Classe Versatile.

Quoiqu'il en soit toute la mecanique est cachee et seul importe pour l'utilisateur de savoir que les valeurs associees aux clefs sont typees et que ces types sont definis dans l'enumeration DiscriminatorType. See Classe Versatile.