Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
rfbr:rest:reqschema [08/122010 14:41] demichev [Получение информации о задании] |
rfbr:rest:reqschema [08/122010 14:47] (current) demichev [Получение списка заданий] |
||
---|---|---|---|
Line 186: | Line 186: | ||
</code> | </code> | ||
- | Изменение задания и выполнение операций над заданием | + | ===== Изменение задания и выполнение операций над заданием =====љ |
Для изменения задания, а так же для выполнения операций над заданием (например, запуск задания), используются запросы методом PUT по URI задания, который обычно имеет вид pilot/jobs/<jobid>/. | Для изменения задания, а так же для выполнения операций над заданием (например, запуск задания), используются запросы методом PUT по URI задания, который обычно имеет вид pilot/jobs/<jobid>/. | ||
+ | |||
Запрос является объектом, имеющим следующие атрибуты: | Запрос является объектом, имеющим следующие атрибуты: | ||
- | definition, объект, опциональный параметрљ | + | * definition, объект, опциональный параметр - новое описание задания и, возможно, задач, согласно спецификации описания заданий, задач и ресурсных требований. При наличии данного атрибута в запросе произойдет изменение описания задания и, возможно, задач задания. Изменение возможно только для заданий, находящихся в состоянии new. Попытка изменения описания задания, находящегося в другом состоянии вызовет ошибку 403. Все задачи, отсутствующие в новом описании задания, будут сразу же удалены с сервера. Задачи, описания которых отсутствуют в новом описании задания, изменены не будут.љ |
- | Новое описание задания и, возможно, задач, согласно спецификации описания заданий, задач и ресурсных требований. При наличии данного атрибута в запросе произойдет изменение описания задания и, возможно, задач задания. Изменение возможно только для заданий, находящихся в состоянии new. Попытка изменения описания задания, находящегося в другом состоянии вызовет ошибку 403. Все задачи, отсутствующие в новом описании задания, будут сразу же удалены с сервера. Задачи, описания которых отсутствуют в новом описании задания, изменены не будут.љ | + | * operation, объект, опциональный параметр - при наличии этого параметра будет создана новая операция над заданием, если ее не существовало ранее; объект имеет следующие атрибуты:љ |
- | operation, объект, опциональный параметрљ | + | * op, строка - выполняемая операция. Возможные значения:љ |
- | При наличии этого параметра будет создана новая операция над заданием, если ее не существовало ранее. Объект имеет следующие атрибуты:љ | + | * start: запустить задание на выполнение;љ |
- | op, строкаљ | + | * pause: приостановить выполнение задания;љ |
- | Выполняемая операция. Возможные значения:љ | + | * abort: отменить выполнение задания.љ |
- | start: запустить задание на выполнение;љ | + | * id, строка - уникальный в рамках одного задания идентификатор операции. Генерация уникального id является ответственностью клиента, в качестве id рекомендуется использовать, например, uuid4.љ |
- | pause: приостановить выполнение задания;љ | + | |
- | abort: отменить выполнение задания.љ | + | |
- | id, строкаљ | + | |
- | Уникальный в рамках одного задания идентификатор операции. Генерация уникального id является ответственностью клиента, в качестве id рекомендуется использовать, например, uuid4. | + | |
Возможные коды HTTP ответа: 204, 401, 404. | Возможные коды HTTP ответа: 204, 401, 404. | ||
+ | |||
Формальное описание JSON Schema: | Формальное описание JSON Schema: | ||
+ | <code> | ||
{ "description": "Запрос на модификацию параметров задания", | { "description": "Запрос на модификацию параметров задания", | ||
"type": "object", | "type": "object", | ||
Line 225: | Line 226: | ||
} | } | ||
} | } | ||
+ | </code> | ||
+ | |||
Пример запроса на запуск задания: | Пример запроса на запуск задания: | ||
+ | <code> | ||
{ "operation": { "op": "start", | { "operation": { "op": "start", | ||
"id": "c9deca6c-3208-4146-848b-2b65b0943127" } } | "id": "c9deca6c-3208-4146-848b-2b65b0943127" } } | ||
- | Получение списка заданий | + | </code>љ |
+ | љ | ||
+ | ===== Получение списка заданий =====љ | ||
Для получения списка заданий пользователя (в любом состоянии) используется запрос методом GET к pilot/jobs/. Ответом сервера является список объектов, каждый из которых имеет следующие атрибуты: | Для получения списка заданий пользователя (в любом состоянии) используется запрос методом GET к pilot/jobs/. Ответом сервера является список объектов, каждый из которых имеет следующие атрибуты: | ||
- | uri, строкаљ | + | * uri, строка - URI задания.љ |
- | URI задания | + | |
Возможные коды HTTP ответа: 200, 401. | Возможные коды HTTP ответа: 200, 401. | ||
+ | |||
Формальное описание JSON Schema: | Формальное описание JSON Schema: | ||
+ | <code> | ||
{ "description": "Список заданий, к которым есть доступ у пользователя", | { "description": "Список заданий, к которым есть доступ у пользователя", | ||
"type": "array", | "type": "array", | ||
Line 248: | Line 257: | ||
} | } | ||
} | } | ||
+ | </code> | ||
Пример ответа на запрос получения списка заданий: | Пример ответа на запрос получения списка заданий: | ||
+ | <code> | ||
[ { "uri": "https://pilot.grid-net.ru/jobs/199231/" }, | [ { "uri": "https://pilot.grid-net.ru/jobs/199231/" }, | ||
{ "uri": "https://pilot.grid-net.ru/jobs/912832/" } ] | { "uri": "https://pilot.grid-net.ru/jobs/912832/" } ] | ||
+ | </code> |