La creation du job est l'etape qui precede toute soumission. Elle necessite de decrire d'un maniere ou d'un autre ce que l'on va demander a la machine d'executer.
Pour cela on passe par deux objets intermediaires qui sont l'objet Parametre et l'objet Environnement.
Le minimum a preciser est en general le chemin absolu d'acces a l'executable, quoique ceci depende fortement de la configuration du gestionnaire auquel on se connecte. Celui-ci peut reclamer des parametres supplementaires.
Pour connaitre l'ensemble des parametres disponibles : See Classe Parametre.
On supposera dans cet exemple que l'application en question sait reconnaitre une variable d'environnement myapp_loglevel qui prend une valeur numerique correspondant au niveau d'information affiche en sortie.
Cette application imaginaire utilise egalement trois fichiers :
Le job est ensuite cree simplement a l'aide des deux objets precedents.
Parametre param;
param[EXECUTABLE] = "/home/user/my_app/bin/exec_app.sh";
param[INFILE] = Couple("/home/user/my_app/data/Cas1.data","fort.9");
param[OUTFILE] = Couple("/home/user/my_app/data/Cas1.out", "stdout"),
Couple("/home/user/my_app/data/Cas1.err", "stderr");
Environnement env;
env["MYAPP_LOGLEVEL"] = "3";
Job job(param, env);
param = {}
param["EXECUTABLE"] = "/home/user/my_app/bin/exec_app.sh"
param["INFILE"] = [ ("/home/user/my_app/data/Cas1.data","fort.9") ]
param["OUTFILE"] = [ ("/home/user/my_app/data/Cas1.out", "stdout"),
("/home/user/my_app/data/Cas1.err", "stderr") ]
env = {}
env["MYAPP_LOGLEVEL"] = "3"
job = Job()
job.setParametre(param)
job.setEnvironnement(env)
See Classe Parametre. See Classe Environnement. See Classe Job.