...
Najbardziej ogólny schemat służący do prezentowania danych w formacie tekstowym. Skrypt monitorujący
...
Jeśli użytkownik nie zdefniuje własnego skryptu monitorującego, używany jest domyślny, który wysyła ostatnich 10 linii standardowego wyjścia aplikacji. W przypadku własnego skryptu monitorującego, użytkownik musi skopiować go do katalogu roboczego (np. za pomocą dyrektywy stage-in-file). Szczegóły dotyczące implementacji skryptu monitorującego znajdują się poniżej.
Schemat przeznaczony do ogólnego monitorowania eksperymentów uruchamianych za pomocą aplikacji Gaussian. Pośród prezentowanych danych znajdują się:
Istnieje możliwość dodania informacji tekstowych do prezentowanych danych. W tym celu, użytkownik musi utowrzyć własny skrypt powłoki który zostanie skopiowany do katalogu roboczego oraz wskaże na niego w zmiennej środowiskowej QCG_MONITOR_USER_SCRIPT (za pomocą dyrektywy environment). Skrypt ten powinien wypisywać dane w formacie opisanym w punkcie Skrypty monitorujące.
Poniżej umieszczony jest przykładowy opis zadania, który korzysta z dodatkowych informacji tekstowych.
Code Block |
---|
#QCG output=output
#QCG stage-in-file=Naphthalene.gjf
#QCG stage-in-file=nfock.sh
#QCG application=g09
#QCG argument=Naphthalene.gjf
#QCG monitor
#QCG environment=QCG_MONITOR_USER_SCRIPT->nfock.sh |
Plik wejściowy dla zadania dostępny jest tutaj.
Poniżej umieszczony jest, wykorzystywany w zadaniu, skrypt powłoki nfock.sh.
Code Block |
---|
#!/bin/bash
outfile=${QCG_OUTERR_FILE:-_stdouterr}
text=`awk '$1~/NFock/ { last=$2; nr+=1; } END { print "NFock at",nr,"step:",last }' $outfile`
if [ -n "$text" ]; then
append_text "$text"
fi |
Powyższy skrypt wykorzystuje program awk do wyszukania i policzenia wystąpień ciągu NFock
w pliku ze standardowym wyjściem programu. Wartość ostatniego z tych wystąpień, wraz z opisem, jest przekazywana do funkcji pomocniczej append_text
, której zadaniem jest zakodowanie jedej linii do formatu JSON w jakim dane są przesyłane ze skryptu monitorującego do serwisu QCG-Monitoring. Jeżeli tekst który chcemy przesłać wraz z danymi zawierałby więcej niż jedną linię, każda z nich musi być zakodowana funkcją append_text
.
Aktualny stan zadania w serwisie QCG-Monitoring z wykorzystaniem powyższego opisu wygląda następująco.
Ten schemat monitorowania powstał dla aplikacji równoległej grupy użytkowników z dziedziny astro-fizyki, której czas działania liczony był w tygodniach. Prezentuje on następujące informacje:
Również ten schemat umożliwia użytkownikowi dodawanie własnych informacji tekstowych do prezentowanych danych. Mechanizm jest identyczny, jak dla schematu gaussian.
Ponieważ aplikacja użytkownika nie została zarejestrowana w systemie QCG, aby skorzystać z schematu monitorowania należy w opisie zadania wyspecyfikować nazwę schematu monitorowania:
Code Block |
---|
#QCG monitor=piernik |
Skrypt monitorujący wykorzystywany przez schematy monitorowania, to skrypt powłoki który wypisuje na standardowe wyjście dane, przesyłane następnie za pośrednictwem mechanizmów QCG, do serwisu QCG-Monitoring. W serwisie tym, dane ze skryptu są transformowane oraz prezentowane użytkownikowi zgodnie ze schematem monitorowania. Dane przesyłane pomiędzy skryptem monitorującym a serwisem QCG-Monitoring, są zakodowane w formacie JSON.