= Soumission d'une collection de jobs avec JJS = [[PageOutline]] Ce tutoriel décrit comment exécuter un job d'analyse en utilisant: * JJS * Le software d'ATLAS athena * Un package d'analyse à compiler (Merci à Annick Lleres et Julien Donini). Pour lancer la collection de jobs, vous avez besoin des fichiers suivants, adaptez les à votre cas: * '''L'archive du package''' SingleTopDPDMaker.tgz contenant le package d'analyse à compiler.[[BR]] Le package fourni produit des DPD à partir d'AOD. * '''Le template JDL''' job.jdl est le template qui va vous servir à générer les fichiers JDL de votre collection * '''Le script à exécuter''' job.sh est le job à exécuter sur les WN. Chacun des jobs de la collection va s'exécuter selon ce fichier et produire un fichier DPD qui va être ajouté au dataset final avec le client DQ2 (commande dq2-put).[[BR]] Dans le fichier de script, des commentaires décrivent chacune des étapes. == Démarrer la base de donnée de JJS == JJS fonctionne avec une base de donnée où il stocke des informations lui permettant de trouver automatiquement le meilleur site pour vos jobs. Dans tous les cas vous devez démarrer ce serveur avant de soumettre des jobs [[BR]] Notez que pour une '''première utilisation''' vous devez initialiser cette base de donnée. ==== Démarrer le serveur de base de donnée de JJS ==== {{{ cd %JJS_HOME/database >jjs-database-server }}} ==== Initialiser la base de donnée (1ère utilisation) ==== {{{ cd %JJS_HOME/admin >jjs-resource-manager --update_all }}} Note : Attention, les fichiers de bases de donnée HSQL sont crées là où vous démarrer le serveur.[[BR]] Sous Windows, créez vous un raccourci vers jjs-database-server.bat afin d'être sûr de bien démarrer le serveur de la même façon à chaque fois. == Créer un certificat proxy VOMS == Dans une nouvelle fenêtre de commande, taper la commande suivante. Vous devez entrer votre passphrase, puis le nom de votre VO. {{{ >jjs-proxy-init VOMS Enter value for attribute 'UserPass' of security context instance 'VOMS[0]' Enter value for attribute 'UserVO' of security context instance 'VOMS[0]' atlas }}} == Soumettre une collection de jobs == Cet exemple décrit comment soumettre une collection de jobs d'analyse athena.[[BR]] Ces jobs vont produire des fichiers DPD à partir d'AOD et les stocker dans un dataset sur le SE du LPSC. ==== Création d'un template JDL ==== Le template est le fichier '''job.jdl'''. [[BR]]Ouvrez ce fichier, il ressemble beaucoup à un JDL normal, sauf qu'il contient des expressions entre caractère #[[BR]] JJS a un évaluateur d'expression qui vous permet de générer des JDL à partir d'un template de manière automatique. ==== Génération d'une collection de JDL à partir du template ==== Vous devez taper la commande '''jjs-create-jdl ''', elle va vous générer 6 fichiers JDL et un fichier job.lst que vous trouverez en attachement. {{{ > cd myDirectory > jjs-create-jdl -t job.jdl -o . -i . -n 6 --var1 6 }}} * -t : fichier template à utiliser * -o : output directory * -i : input directory (là où se trouve les fichiers qui vont passer par la inputsandbox) * -n : nombre de fichiers JDL à générer * --var1 : La variable utilisée dans le template, elle correspond à l'indice des fichiers du dataset. ==== Soumissions de la collection de jobs ==== Pour soumettre vos jobs, utiliser la commande '''jjs-submit''' {{{ > jjs-submit -v atlas -g test -n test -l job.lst ## maxDurationTimeForJobManager: 36000 secondes ## maxDurationTimeForWaitingJob: 3600 secondes ## maxDurationTimeForRunningJob: 36000 secondes ## maxExaminationTimeForRunningJob: 60 secondes ... After lpsc-ce.in2p3.fr https://lpsc-ce.in2p3.fr:20044/25244/1229338615/ - C:/Documents and Settings/Lambert/Bureau/testjobJJS/job1.jdl https://lpsc-ce.in2p3.fr:20046/25245/1229338615/ - C:/Documents and Settings/Lambert/Bureau/testjobJJS/job2.jdl https://lpsc-ce.in2p3.fr:20019/25386/1229338624/ - C:/Documents and Settings/Lambert/Bureau/testjobJJS/job3.jdl https://lpsc-ce.in2p3.fr:20036/25389/1229338625/ - C:/Documents and Settings/Lambert/Bureau/testjobJJS/job4.jdl https://lpsc-ce.in2p3.fr:20005/25475/1229338635/ - C:/Documents and Settings/Lambert/Bureau/testjobJJS/job5.jdl https://lpsc-ce.in2p3.fr:20051/25476/1229338636/ - C:/Documents and Settings/Lambert/Bureau/testjobJJS/job6.jdl }}} ==== Statut des jobs ==== Pour obtenir le statut de vos jobs, utiliser la commande '''jjs-status''' {{{ >jjs-status -v atlas -g test ## https://lpsc-ce.in2p3.fr:20005/25475/1229338635/ - lpsc-ce.in2p3.fr - RUNNING ## https://lpsc-ce.in2p3.fr:20051/25476/1229338636/ - lpsc-ce.in2p3.fr - RUNNING ## https://lpsc-ce.in2p3.fr:20019/25386/1229338624/ - lpsc-ce.in2p3.fr - RUNNING ## https://lpsc-ce.in2p3.fr:20036/25389/1229338625/ - lpsc-ce.in2p3.fr - RUNNING ## https://lpsc-ce.in2p3.fr:20044/25244/1229338615/ - lpsc-ce.in2p3.fr - RUNNING ## https://lpsc-ce.in2p3.fr:20046/25245/1229338615/ - lpsc-ce.in2p3.fr - RUNNING Group : TEST - Name : TEST - RUNNING - id : https://lpsc-ce.in2p3.fr:20005/25475/1229338635/ Group : TEST - Name : TEST - RUNNING - id : https://lpsc-ce.in2p3.fr:20051/25476/1229338636/ Group : TEST - Name : TEST - RUNNING - id : https://lpsc-ce.in2p3.fr:20019/25386/1229338624/ Group : TEST - Name : TEST - RUNNING - id : https://lpsc-ce.in2p3.fr:20036/25389/1229338625/ Group : TEST - Name : TEST - RUNNING - id : https://lpsc-ce.in2p3.fr:20044/25244/1229338615/ Group : TEST - Name : TEST - RUNNING - id : https://lpsc-ce.in2p3.fr:20046/25245/1229338615/ }}} ==== Annuler un (des) jobs ==== Pour annuler des jobs, utiliser la commande '''jjs-cancel''' {{{ >jjs-cancel -v atlas -g test ## The job : https://lpsc-ce.in2p3.fr:20044/25244/1229338615/ is stopped ## Job https://lpsc-ce.in2p3.fr:20044/25244/1229338615/ suppress in group : TEST with jobname : TEST ## The job : https://lpsc-ce.in2p3.fr:20046/25245/1229338615/ is stopped ## Job https://lpsc-ce.in2p3.fr:20046/25245/1229338615/ suppress in group : TEST with jobname : TEST ## The job : https://lpsc-ce.in2p3.fr:20019/25386/1229338624/ is stopped ## Job https://lpsc-ce.in2p3.fr:20019/25386/1229338624/ suppress in group : TEST with jobname : TEST ## The job : https://lpsc-ce.in2p3.fr:20036/25389/1229338625/ is stopped ## Job https://lpsc-ce.in2p3.fr:20036/25389/1229338625/ suppress in group : TEST with jobname : TEST ## The job : https://lpsc-ce.in2p3.fr:20005/25475/1229338635/ is stopped ## Job https://lpsc-ce.in2p3.fr:20005/25475/1229338635/ suppress in group : TEST with jobname : TEST ## The job : https://lpsc-ce.in2p3.fr:20051/25476/1229338636/ is stopped ## Job https://lpsc-ce.in2p3.fr:20051/25476/1229338636/ suppress in group : TEST with jobname : TEST }}} ==== Récuperer la sortie standard des jobs ==== Pour récuperer les sorties standard des jobs stdout, stderr utilisez '''jjs-get-output''' {{{ >jjs-get-output -v atlas -g test ... }}} [wiki:tutojjs up]