QCG-!SimpleClient oferuje prosty wzorowany na poleceniech systemu kolejkowego interfejs do infrastruktury QCG. = Polecenia: = * '''gsub''' - zlecenie zadania do wykonania na infrastrukturze QCG zgodnie z uproszczonym opisem opisanym, * '''glist''' - wyświetlenie listy zleconych zadań wraz z informacjami o nich, * '''ginfo''' - wyświetlenie szczegółowej informacji o danym zadaniu, * '''gproxy''' - utworzenie certyfikatu proxy użytkownika. = Składnia poleceń: = * gsub plik_z_opisem - sciezka do pliku z uproszczonym opisem zadania {{{ gsub /home/piontek/tasks/date.qcg gsub ./tasks/date.qcg }}} * glist liczba jednostka - zadania z ostatnich "liczba" dni ("d"), godzin ("h"), minut ("m") {{{ glist 7d glist 1m }}} * ginfo jobId taskId - identyfikator eksperymentu i zadania {{{ ginfo J1331196390748_date_3099 date }}} * gproxy - generacja certyfikatu proxy użytkownika = Opis zadania: = Zlecany plik jest plikiem tekstowym, który może zawierać dyrektywy infrastruktury QCG. Dyrektywa jest każda linia zaczynająca sie od "#QCG". '''WAŻNE:''' Jeżeli w pliku nie zdefiniowano dyrektywy "''executable''" ani "''application''" uruchamiany jest zlecany plik z opisem. == Lista dyrektyw == * '''queue''' - wybrana kolejka systemu kolejkowego * '''name''' - dyrektywa określająca nazwę zadania. Dyrektywa obowiązkowa. * '''output''' - lokalizacja gdzie ma być przegrane standardowe wyjście zadnia (''stdout''). Jesli nie jest lokalizacja gsiftp:// zaklada się, że jest wzgledem katalogu z którego zlecono zadanie * '''error''' - lokalizacja gdzie ma być przegrany standardowe wyjście blędów zadnia (''stderr''). Jesli nie jest lokalizacja gsiftp:// zaklada się, że jest wzgledem katalogu z którego zlecono zadanie * '''candidate_host''' - lista potencjalnych maszyn, na których może być uruchomione zadanie odzielonych przecinkami * '''stage-in-file''' - dyrektywa kopiowania pliku wejściowego. Składnia "lokalizacja_źródłowa > nazwa_docelowa_pliku". Lokalizacja źródłowa może być lokalizacją gsiftp:// lub ścieżką do pliku. W tym drugim przypadku zadkłada się, że jest względem katalogu, z którego zlecono zadanie. * '''stage-in-dir''' - Dyrektywa kopiowania katalogu wejściowego. Funkcjonalność i składnia analogiczna jak dla dydektywy "stage-in-file" tyle, że kopiowany jest katalog. * '''stage-out-file''' - dyrektywa kopiowania pliku wyjściowego. Składnia "nazwa_pliku_źródłowego > lokalizacja docelowa pliku". Lokalizacja docelowa może być lokalizacją gsiftp:// lub ścieżką do pliku. W tym drugim przypadku zadkłada się, że jest względem katalogu, z którego zlecono zadanie. * stage-out-dir - Dyrektywa kopiowania katalogu wyjściowego. Funkcjonalność i składnia analogiczna jak dla dydektywy "stage-out-file" tyle, że kopiowany jest katalog. * '''grant''' - nazwa grantu, w ramach którego ma być wykonane zadanie. * '''argument''' - argument aplikacji w przypadku użycia dyrektywy "executable" lub "application". Argument może wystąpić wielokrotnie. Każdy adgument powinien być przekazacy w osobnej dyrektywie. Argumenty do aplikacji przekazywane są w kolejności ich wystąpiena w pliku opisu * '''environment''' - * '''executable''' - * '''application''' - * '''persistant''' - == Przykłady == {{{ #QCG name=date #QCG application=date #QCG candidate_host=reef.man.poznan.pl #QCG output=output }}} {{{ #!/bin/bash #QCG queue=plgrid #QCG persistant #QCG name=tar #QCG candidate_host=reef.man.poznan.pl #QCG output=output #QCG error=error #QCG stage-in-dir=inputs > inputs /bin/tar -czf output.tgz inputs/input.* #QCG stage-out-file=output.tgz > output.tgz }}} = Planowane rozszerzenia: = == Polecenia == '''gsub''' * '''glist''' * wartość domyślna dla glist * dodatkowe parametry metody glist (status) '''ginfo''' * '''gproxy''' * parametr okreslajacy "dlugosc" tworzonego proxy == Dyrektywy == * ''''''modules'''''' - list wymaganych modułów * Zrezygnować z konieczności podawania dyrektywy "name" (default "task")