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.