Un objet de classe JobInfo represente l'ensemble des informations disponibles sur un travail actif, c'est-a-dire soumis au gestionnaire de batch, a un instant donne.
Cet objet reprend des informations issues du job tel qu'il a ete soumis, See Classe Job, mais aussi des informations produites par le gestionnaire de batch a partir de la soumission et du transit du job en son sein : nom de la queue dans laquelle le job est inscrit, duree d'execution, date de soumission, etc.
Ces informations sont disponibles aupres de l'utilisateur de la classe a travers les objets Parametre et Environnement que l'objet JobInfo peut fournir.
class JobInfo
{
public:
// Constructeur standard et destructeur
JobInfo();
virtual ~JobInfo();
// Constructeur par recopie
JobInfo(const JobInfo & jinfo);
// Operateur pour l'affichage sur un stream
friend ostream & operator <<(ostream & os, const JobInfo & ji);
// Accesseurs
virtual Parametre getParametre() const;
virtual Environnement getEnvironnement() const;
// Methodes pour l'interfacage avec Python (SWIG)
string __str__() const; // SWIG : affichage en Python
string __repr__() const; // SWIG : affichage en Python
protected:
Parametre _param; // parametres du job
Environnement _env; // variables d'environnement du job
private:
};
... (ici on cree un BatchManager bm et un Job job)
// On soumet le job et on recupere un identifiant
JobId jobid = bm.submitJob(job);
// Ce qui permet d'interroger l'etat du job en cours
JobInfo jinfo = jobid.queryJob();
// On recupere l'objet Parametre interne modifie
// par le gestionnaire de batch
Parametre param = jinfo.getParametre();
// On recupere l'objet Environnement interne modifie
// par le gestionnaire de batch
Environnement env = jinfo.getEnvironnement();
...
Ce constructeur cree un objet JobInfo vide.
Le destructeur libere l'espace memoire alloue par l'objet.
Le constructeur par recopie produit un objet identique a celui passe en argument. Les deux objets sont totalement independants l'un de l'autre.
Cet operateur permet de voir le contenu de l'objet sur un flot de sortie.
Cet accesseur retourne l'objet interne Parametre modifie par le gestionnaire de batch. En particulier on y retrouve toutes les clefs et les valeurs correspondant aux informations produites dynamiquement par le gestionnaire (duree d'execution, machine d'execution, etc.). Il n'est pas garanti que les valeurs passees au moment de la soumission soient inchangees car des modifications ont pu etre apportees a ces valeurs pendant le traitement du job par le gestionnaire.
Cet accesseur retourne l'objet interne Environnement modifie par le gestionnaire de batch. En particulier on y retrouve toutes les clefs et les valeurs correspondant aux informations produites dynamiquement par le gestionnaire (chemin d'acces, variables d'environnement specifiques a la machine d'execution, etc.). Il n'est pas garanti que les valeurs passees au moment de la soumission soient inchangees car des modifications ont pu etre apportees a ces valeurs pendant le traitement du job par le gestionnaire.
Cette methode n'est utile que pour l'interfacage avec Python. Elle permet d'afficher l'etat de l'objet JobInfo.
Cette methode n'est utile que pour l'interfacage avec Python. Elle permet d'afficher l'etat de l'objet JobInfo.