464 | | |
465 | | === Examen en temps réel des fichiers de sortie === |
466 | | |
| 469 | === Examen en temps réel des fichiers de sortie : Job Perusal === |
| 470 | |
| 471 | Avec le gLite WMS, on peut voir les fichiers produits par un job pendant qu'il est encore en exécution. |
| 472 | C'est la fonctionnalité Job Perusal. Avec le RB il fallait attendre que le job soit terminé. |
| 473 | |
| 474 | Pour activer le Job Perusal pour un job, il faut mettre les deux lignes suivantes dans le .jdl : |
| 475 | |
| 476 | {{{ |
| 477 | PerusalFileEnable = true; |
| 478 | PerusalTimeInterval = 120; |
| 479 | }}} |
| 480 | |
| 481 | La valeur fournie à PerusalTimeInterval est en secondes. C'est l'intervalle |
| 482 | entre deux uploads des fichiers sur le WMS par le WN. Eviter de mettre des |
| 483 | valeurs trop petites. Mettre plutôt plusieurs minutes. Pour des jobs courts, cen'est pas la peine d'utiliser cette fonctionnalité sauf pour debugger des problèmes de plantage de job. De facçon générale, ne pas abuser de cette |
| 484 | fonctionnalité car elle est augmente la charge du WMS. |
| 485 | |
| 486 | Dans l'exemple ci-dessous nous allons lancer le job perusal.jdl et récupérer des fichiers pendant que le job tourne. |
| 487 | |
| 488 | {{{ |
| 489 | diarra@ipnlinux2 ~/work]$ cat perusal.jdl |
| 490 | Executable = "perusal.sh"; |
| 491 | Arguments = "10"; |
| 492 | StdOutput = "std.out"; |
| 493 | StdError = "std.err"; |
| 494 | InputSandbox = {"perusal.sh"}; |
| 495 | OutputSandbox = {"std.out","std.err", "perusal.log"}; |
| 496 | PerusalFileEnable = true; |
| 497 | PerusalTimeInterval = 120; |
| 498 | #Requirements = RegExp("ipnls2001.*\.fr:2119/jobmanager.*ipno$", other.GlueCEUniqueID); |
| 499 | }}} |
| 500 | |
| 501 | La soumission : |
| 502 | |
| 503 | {{{ |
| 504 | [diarra@ipngrid01 ~/work]$ glite-wms-job-submit -o pjid -a perusal.jdl |
| 505 | https://grid02.lal.in2p3.fr:9000/1nX3gfh6Ba9NLtxy5FKe2g |
| 506 | The job identifier has been saved in the following file: |
| 507 | /home/diarra/work/pjid |
| 508 | }}} |
| 509 | |
| 510 | On indique au WMS avec la commande 'glite-wms-job-perusal --set -f ... jodID', la liste des fichiers qu'on veut inspecter (ici std.err, std.out, perusal.log) : |
| 511 | |
| 512 | {{{ |
| 513 | [diarra@ipngrid01 ~/work]$ glite-wms-job-perusal --set -f std.err -f std.out -f perusal.log -i pjid |
| 514 | Connecting to the service https://grid09.lal.in2p3.fr:7443/glite_wms_wmproxy_server |
| 515 | ====================== glite-wms-job-perusal Success ====================== |
| 516 | Files perusal has been successfully enabled for the job: |
| 517 | https://grid02.lal.in2p3.fr:9000/1nX3gfh6Ba9NLtxy5FKe2g |
| 518 | ========================================================================== |
| 519 | }}} |
| 520 | |
| 521 | On récupère par exemple le fichier perusal.log : |
| 522 | |
| 523 | {{{ |
| 524 | [diarra@ipngrid01 ~/work]$ glite-wms-job-perusal --get --nodisplay -f perusal.log -i pjid |
| 525 | |
| 526 | Connecting to the service https://grid09.lal.in2p3.fr:7443/glite_wms_wmproxy_server |
| 527 | |
| 528 | ====================== glite-wms-job-perusal Success ====================== |
| 529 | |
| 530 | The retrieved files have been successfully stored in: |
| 531 | /home/diarra/JobOutput/diarra_1nX3gfh6Ba9NLtxy5FKe2g |
| 532 | |
| 533 | ========================================================================== |
| 534 | }}} |
| 535 | |
| 536 | Ici, le fichier se trouvera dans /home/diarra/JobOutput/diarra_1nX3gfh6Ba9NLtxy5FKe2g . Le nom du fichier contient en plus |
| 537 | la fenêtre de temps couverte. A chaque récupération, un nouveau fichier est créé. Après plusieurs inspection des fichiers, on a par exemple : |
| 538 | |
| 539 | |
| 540 | {{{ |
| 541 | [diarra@ipngrid01 ~/work]$ ls -l /home/diarra/JobOutput/diarra_1nX3gfh6Ba9NLtxy5FKe2g |
| 542 | total 6900 |
| 543 | -rw-r--r-- 1 diarra sii 1689998 Jun 5 11:34 perusal.log-20080605094053_1-20080605100318_12 |
| 544 | -rw-r--r-- 1 diarra sii 5207599 Jun 5 11:34 perusal.log-20080605100520_13-20080605111856_49 |
| 545 | -rw-r--r-- 1 diarra sii 213 Jun 5 09:41 std.err-20080605094051_1-20080605094051_1 |
| 546 | -rw-r--r-- 1 diarra sii 6887 Jun 6 10:41 std.err-20080605094254_2-20080605111855_49 |
| 547 | -rw-r--r-- 1 diarra sii 21097 Jun 5 09:56 std.out-20080605094052_1-20080605095508_8 |
| 548 | -rw-r--r-- 1 diarra sii 103003 Jun 6 10:42 std.out-20080605095710_9-20080605111856_49 |
| 549 | }}} |
| 550 | |
| 551 | Si l'option --nodisplay n'est pas utilisé, le fichier sera en plus affiché à l'écran (pas toujours |
| 552 | commode). Par ailleurs à chaque récupération, seule le delta depuis le dernier upload est transmis. |
| 553 | Pour récupérer à chaque fois l'intégralité du fichier, utiliser l'option --all de glite-wms-job-perusal. |
| 554 | |
| 555 | L'option --unset de glite-wms-job-perusal permet de desactiver le Job Perusal : |
| 556 | |
| 557 | {{{ |
| 558 | |
| 559 | [diarra@ipngrid01 ~/work]$ glite-wms-job-perusal --unset -i pjid |
| 560 | |
| 561 | Reading the jobId from the input file: /home/diarra/work/pjid |
| 562 | Connecting to the service https://grid09.lal.in2p3.fr:7443/glite_wms_wmproxy_server |
| 563 | ====================== glite-wms-job-perusal Success ====================== |
| 564 | File(s) perusal has been successfully disabled for the job: |
| 565 | https://grid02.lal.in2p3.fr:9000/1nX3gfh6Ba9NLtxy5FKe2g |
| 566 | ========================================================================== |
| 567 | }}} |
| 568 | |