Очередь заданий

Примечание

Мы постепенно отказываемся от механизма под именем actions и переходим на новый механизм. Формат ответа для заданий в новом механизме немного отличается от стандартного. Это было сделано для сохранения обратной совместимости. Однако, после полного перехода на новый механизм, формат ответа изменится значительнее. Новый формат ответа мы разместим как только он будет готов.

Отличия нового формата ответа от стандартного:

{
    "action": {
        "completed_at": null,
        "created_at": "2022-06-24 18:11:01",
        "id": "chain_119123",
        "region_slug": "service",
        "resource_id": 1749127,
        "resource_type": "reglet",
        "status": "completed",
        "type": "StopServerUseCase"
    }
}

Примечание

Текущий формат запросов/ответов API, а также список доступных запросов можно посмотреть на https://api.cloudvps.reg.ru/v1/ui/

Общие сведения

Некоторые операции асинхронны - то есть вы отправляете запрос, он принимается, но выполняется в фоне. При этом в очередь ставится задание, которому присваивается уникальный идентификатор

Например, в результате отправки запроса на перезагрузку сервера может быть получен следующий ответ:

{
    "action": {
        "completed_at": "2018-07-12 01:31:44",
        "created_at": "2019-03-04 18:11:01",
        "id": 119123,
        "region_slug": "msk1",
        "resource_id": 6867,
        "resource_type": "reglet",
        "started_at": "2018-07-12 01:31:44",
        "status": "in-progress",
        "type": "reboot"
    }
}

Параметры следующие:

Параметр

Значение

completed_at

дата и время выполнения задания

created_at

дата и время добавления задания

id

уникальный идентификатор задания в очереди

region_slug

регион, куда было отправлено задание

resource_id

уникальный идентификатор ресурса

resource_type

тип ресурса (сервер, снэпшот и проч.)

started_at

дата и время запуска отложенного задания

status

состояние задачи

type

тип задания (его суть)

Как проверить статус задания?

Для проверки статуса конкретного задания отправьте запрос типа GET к /v1/actions/<идентификатор-запроса>

curl \
-X GET \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
'https://api.cloudvps.reg.ru/v1/actions/120639'

В полученном ответе необходимо проверить поле status, которое будет принимать следующие значения:

Статус

Значение

new

поставлено в очередь, но еще не начало исполняться

in-progress

в процессе выполнения

errored

задание завершено с ошибкой

completed

задание завершено успешно