▪ Запуск завдання (Job Submission)
▪ Статус завдання (Job Status)
▪ Результати виконання завдання (Job Output)
▪ Відміна завдання (Job Cancel)
Цей практикум продемонструє етапи виконання простого завдання, що вимагає дані. Перш ніж продовжити, переконайтеся, що у вас вже створений і ще дійсний проксі-сертифікат, а якщо ще ні, то створіть його. Подивіться тут, якщо вам необхідна допомога.
Для запуску завдання ми повинні написати файл опису завдання (XRSL), мати виконуваний скрипт (run.sh) і сам файл з даними (input.txt). Для зручності користування Вашими файлами використовуйте домашню директорію: /home/
[Litovchenko@arc-emi ~]$ cat input.txt
123 Ukraine 093
[Litovchenko@arc-emi ~]$ cat run.sh
#!/bin/sh
#
echo -n "Start date is: "date
echo "-------------"
echo "testjob"
echo "Job running on WN: "`hostname`
echo "Read input file: " `cat input.txt`
echo "-------------"
echo -n "End date is: "date
Нижче показаний найпростіший XRSL файл для запуску простого завдання в Грід.
[Litovchenko@arc-emi ~]$ cat testjob.xrsl
&(executable=run.sh)
(jobname=testjob)
(inputFiles=(run.sh "")
(input.txt "")
)
(stdout=out.txt)
(stderr=err.txt)
Атрибут Executable визначає команду, яка буде виконана на Робочому Вузлі (Worker Node - WN). Атрибут stdout і stderr перераховують файли, куди перенаправляються виведення завдання і повідомлення про помилки, які Ви отримаєте назад після виконання завдання. Атрибут inputFiles служить для опису файлів для передачі між користувальницьким інтерфейсом ( User Interface - UI) і робочими вузлами (WN) .
Всі подальші дії припускають, що у вас вже створений такий XRSL файл з ім'ям hostname.xrsl. Скопіюйте та збережіть його з таким ім'ям .
Запуск завдання (Job Submission)
Для запуску на виконання завдання необхідно, на додаток до чинного проксі-сертифікату, делегувати свої повноваження.
Тому, просте завдання може бути запущено на виконання за допомогою команди arcsub з використанням опції -с, яка визначає ресурс на який здійснюється запуск завдання:
arcsub
[Litovchenko@arc-emi ~]$ arcsub testjob.xrsl -c arc-emi.bitp.kiev.ua
ERROR: Failed to connect to arc-emi.bitp.kiev.ua(IPv4):443
ERROR: Failed to connect to arc-emi.bitp.kiev.ua(IPv4):443
Job submitted with jobid: gsiftp://arc-emi.bitp.kiev.ua:2811/jobs/0WSNDmVHHZgnFh581mupqwtnABFKDmABFKDmhRHKDmABFKDmmQL20m
Після представлення, ми можемо перевіряти стан завдання поки завдання не виконається. Для того щоб отримати інформацію про статус запущеного завдання передбачена команда:
arcstat
[Litovchenko@arc-emi ~]$ arcstat gsiftp://arc-emi.bitp.kiev.ua:2811/jobs/0WSNDmVHHZgnFh581mupqwtnABFKDmABFKDmhRHKDmABFKDmmQL20m
Job: gsiftp://arc-emi.bitp.kiev.ua:2811/jobs/0WSNDmVHHZgnFh581mupqwtnABFKDmABFKDmhRHKDmABFKDmmQL20m
Name: testjob
State: Finished (FINISHED)
Exit Code: 0
Опція -l використовується для відображення бiльш детальної інформації про виконання задачі.
В прикладі завдання має статус Finished (FINISHED) з кодом повернення помилки 0, це означає, що задача закінчена вдало.
Результати виконання завдання (Job Output)
Якщо робота закінчується зі статусом Finished (FINISHED), ми можемо забрати результат виконання завдання за допомоги простої команди:
arcget
Ключ -D використовується для указання директорії в котру буде забиратися результат виконання завдання, якщо ключ -D не вказаний то результат виконання завдання буде розміщений в поточній директорії в папці з назвою індифікаційного номеру завдання.
[Litovchenko@arc-emi ~]$ arcget gsiftp://arc-emi.bitp.kiev.ua:2811/jobs/0WSNDmVHHZgnFh581mupqwtnABFKDmABFKDmhRHKDmABFKDmmQL20m
Results stored at: 0WSNDmVHHZgnFh581mupqwtnABFKDmABFKDmhRHKDmABFKDmmQL20m
Jobs processed: 1, successfully retrieved: 1, successfully cleaned: 1
Для того щоб перевірити результат виконання нашого прикладу, перевірьте вміст вихідних файлів:
[Litovchenko@arc-emi ~]$ cd ./0WSNDmVHHZgnFh581mupqwtnABFKDmABFKDmhRHKDmABFKDmmQL20m/
[litovchenko@arc-emi 0WSNDmVHHZgnFh581mupqwtnABFKDmABFKDmhRHKDmABFKDmmQL20m]$ ls -al
total 12
drwx------ 2 litovchenko litovchenko 4096 Sep 21 15:19 .
drwxrwxr-x 3 litovchenko litovchenko 4096 Sep 21 15:19 ..
-rw------- 1 litovchenko litovchenko 0 Sep 21 15:19 err.txt
-rw------- 1 litovchenko litovchenko 41 Sep 21 15:19 out.txt
[litovchenko@arc-emi 0WSNDmVHHZgnFh581mupqwtnABFKDmABFKDmhRHKDmABFKDmmQL20m]$ cat out.txt
Start date is: Mon Dec 15 15:00:54 EET 2014
------------
testjob
Job running on WN: a32.bitp.kiev.ua
Read input file: 123 Ukraine 093
-------------
End date is: Mon Dec 15 15:01:12 EET 2014
Якщо щось йде не так, як хотілось, завдання може бути знято командою:
arckill
[Litovcheko@arc-emi jobs]$ arckill gsiftp://arc-emi.bitp.kiev.ua:2811/jobs/0WSNDmVHHZgnFh581mupqwtnABFKDmABFKDmhRHKDmABFKDmmQL20m
Jobs processed: 1, successfully killed: 1, successfully cleaned: 0
Тепер можна впевнетись, що завдання знято, перевiривши стан завдання:
[Litovchenko@arc-emi jobs]$ arcstat gsiftp://arc-emi.bitp.kiev.ua:2811/jobs/0WSNDmVHHZgnFh581mupqwtnABFKDmABFKDmhRHKDmABFKDmmQL20m
Job: gsiftp://arc-emi.bitp.kiev.ua:2811/jobs/0WSNDmVHHZgnFh581mupqwtnABFKDmABFKDmhRHKDmABFKDmmQL20m
Name: testjob
State: Killed (KILLED)
Job Error: User requested to cancel the job