Zarządzanie zadaniami gridowymi przy użyciu interfejsu REST poprzez oprogramowanie pośredniczące QosCosGrid, pozwalające uruchamiać nowe zadania gridowe, monitorować status ich wykonania, pobierać rezultaty, bądź też zatrzymywać (kasować) uruchomione/skończone zadania.
PROXY
oraz wartością certyfikatu proxy zakodowanego przy użyciu Base64 (wpierany jest jedynie certyfikat proxy podpisany przez SimpleCA).
URL | /api/qcgjobs |
---|---|
Metoda | POST |
Parametry zapytania | Brak |
Ciało żądania |
application/x-www-form-urlencoded lub multipart/form-data: executable=[string (wymagane; automatycznie dodawany do inputSandbox)] arguments=[string[] (opcjonalne)] stdOutput=[string (opcjonalne; automatycznie dodawany do outputSandbox)] stdError=[string (opcjonalne; automatycznie dodawany do outputSandbox)] candidateHosts=[string[] (opcjonalne)] outputSandbox=[string[] (opcjonalne)] files=[file[] (opcjonalne; wszystkie przesłane pliki zostają automatycznie dodane do inputSandbox)] tag=[string (opcjonalne)] |
Odpowiedź |
Kod: 201 Przykład: { "status":"RUNNING", "job_id":"56cd0b82-2db4-4dd7-ad77-4ceb922f9a7a", "native_job_id":"J1435215723375__9256" } |
Wystąpienie błędu |
Wystąpienie błędu: 408 | 422 | 500 Przykład: { "status":"error", "exit_code":-1, "error_message":"error message...", "tag":null } |
Przykładowe wywołanie |
Bash (z użyciem komend base64, tr oraz curl) proxy="`cat {path-to-proxy-file} | base64 | tr -d '\n'`" echo First file contents > in1.txt echo Second file contents > in2.txt echo -e '#!/bin/bash\ncat in1.txt in2.txt > result.txt' > run.sh curl -k -X POST --header "PROXY:$proxy" --form files=@run.sh --form files=@in1.txt --form files=@in2.txt \ --form executable=run.sh --form outputSandbox=result.txt --form stdOutput=out.txt \ --form stdError=error.txt https://submit.plgrid.pl/api/qcgjobs |
Uwagi | Brak |
URL | /api/qcgjobs/{job_id}/jobdescription |
---|---|
Metoda | GET |
Parametry zapytania | job_id - Identyfikator zadania |
Ciało żądania | Brak |
Odpowiedź |
Kod: 200 Przykład: <?xml version="1.0" encoding="UTF-8"?> <qcgJob appId=""> <task taskId="task"> <execution type="single"> <!-- ... --> </execution> </task> </qcgJob> |
Wystąpienie błędu |
Wystąpienie błędu: 408 | 422 | 500 Przykład: { "status":"error", "exit_code":0, "error_message":"error message...", } |
Przykładowe wywołanie |
Bash (z użyciem komend base64, tr oraz curl) proxy="`cat {path-to-proxy-file} | base64 | tr -d '\n'`" curl -k -X GET --header "PROXY:$proxy" https://submit.plgrid.pl/api/qcgjobs/56cd0b82-2db4-4dd7-ad77-4ceb922f9a7a/jobdescription |
Uwagi | Brak |
URL | /api/qcgjobs?tag={tag} |
---|---|
Metoda | GET |
Parametry zapytania | tag - Tag (opcjonalnie) |
Ciało żądania | Brak |
Odpowiedź |
Kod: 200 Przykład: [ { "status":"RUNNING", "job_id":"295a49d3-b261-4acb-a508-fce3e1684494", "native_job_id":"J1435215723375__9256" }, { "status":"RUNNING", "job_id":"56cd0b82-2db4-4dd7-ad77-4ceb922f9a7a", "native_job_id":"J1435215723375__9256" } ] |
Wystąpienie błędu |
Wystąpienie błędu: 408 | 404 | 500 Przykład: { "status": "error", "exit_code": -1, "error_message": "error message...", "tag":null } |
Przykładowe wywołanie |
Bash (z użyciem komend base64, tr oraz curl) proxy="`cat {path-to-proxy-file} | base64 | tr -d '\n'`" curl -k -X GET --header "PROXY:$proxy" https://submit.plgrid.pl/api/qcgjobs |
Uwagi | Brak |
URL | /api/qcgjobs/{job_id} |
---|---|
Metoda | GET |
Parametry zapytania | job_id - Identyfikator zadania |
Ciało żądania | Brak |
Odpowiedź |
Kod: 200 Przykład: { "status":"RUNNING", "job_id":"56cd0b82-2db4-4dd7-ad77-4ceb922f9a7a", "native_job_id":"J1435215723375__9256" } |
Wystąpienie błędu |
Wystąpienie błędu: 408 | 404 | 500 Przykład: { "status": "error", "exit_code": -1, "error_message": "error message...", "tag":null } |
Przykładowe wywołanie |
Bash (z użyciem komend base64, tr oraz curl) proxy="`cat {path-to-proxy-file} | base64 | tr -d '\n'`" curl -k -X GET --header "PROXY:$proxy" https://submit.plgrid.pl/api/qcgjobs/56cd0b82-2db4-4dd7-ad77-4ceb922f9a7a |
Uwagi | Brak |
URL | /api/qcgjobs/{job_id}/files/{file_name} |
---|---|
Metoda | GET |
Parametry zapytania |
job_id - Identyfikator zadania
file_name - Ścieżka pliku do pobrania względem sandbox |
Ciało żądania | Brak |
Odpowiedź |
Kod: 200 Przykład: Zawartość pliku |
Wystąpienie błędu |
Wystąpienie błędu: 408 | 422 | 500 Przykład: { "status":"error", "exit_code":0, "error_message":"error message...", } |
Przykładowe wywołanie |
Bash (z użyciem komend base64, tr oraz curl) proxy="`cat {path-to-proxy-file} | base64 | tr -d '\n'`" curl -k -X GET --header "PROXY:$proxy" https://submit.plgrid.pl/api/qcgjobs/56cd0b82-2db4-4dd7-ad77-4ceb922f9a7a/files/result.txt |
Uwagi | Brak |
URL | /api/qcgjobs/{job_id} |
---|---|
Metoda | DELETE |
Parametry zapytania | job_id - Identyfikator zadania |
Ciało żądania | Brak |
Odpowiedź | Kod: 204 |
Wystąpienie błędu |
Wystąpienie błędu: 408 | 404 | 500 Przykład: { "status": "error", "exit_code": 0, "error_message": "error message", "tag":null } |
Przykładowe wywołanie |
Bash (z użyciem komend base64, tr oraz curl) proxy="`cat {path-to-proxy-file} | base64 | tr -d '\n'`" curl -k -X DELETE --header "PROXY:$proxy" https://submit.plgrid.pl/api/qcgjobs/56cd0b82-2db4-4dd7-ad77-4ceb922f9a7a |
Uwagi | Brak |
URL | /api/qcgjobs/{job_id} |
---|---|
Metoda | PUT |
Parametry zapytania | job_id - Identyfikator zadania |
Ciało żądania |
JSON: { "action": [string (wymagane)] } Przykład: { "action": "abort" } |
Odpowiedź | Kod: 204 |
Wystąpienie błędu |
Wystąpienie błędu: 408 | 404 | 500 Przykład: { "status": "error", "exit_code": 0, "error_message": "error message...", "tag":null } |
Przykładowe wywołanie |
Bash (z użyciem komend base64, tr oraz curl) proxy="`cat {path-to-proxy-file} | base64 | tr -d '\n'`" curl -k -X PUT --data '{"action":"abort"}' --header "Content-Type:application/json" \ --header "PROXY:$proxy" https://submit.plgrid.pl/api/qcgjobs/56cd0b82-2db4-4dd7-ad77-4ceb922f9a7a |
Uwagi | Brak |