Обновление работающей задачи ретроспективной корреляции
Запрос
Тип | Метод |
---|---|
PUT |
/retro_jobs/update-worker |
Описание: при выполнении запроса будет обновлена информация о задаче ретроспективной корреляции в соответствии с заданными параметрами.
Работает по принципу частичного обновления, т.е. будут обновлены только те поля модели, которые были переданы в запросе.
Также проверяется, что статус задачи не равен Остановлено.
Пример запроса
PUT
http://127.0.0.1/cm/v2/retro_jobs/update-worker
Тело запроса:
Параметр | Тип | Обязательность | Описание |
---|---|---|---|
id | string |
Required | Идентификатор задачи |
created_at | string |
Required | Дата создания в формате date-time |
updated_at | string |
Required | Дата изменения в формате date-time |
name | string |
Required | Название задачи |
type | string |
Required | Тип задачи. Допустимое значение: retro |
status | string |
Required | Статус задачи. Допустимые значения: - stopped - задача остановлена - queued - задача в очереди - reserved - задача зарезервирована - error - ошибка выполнения задачи - done - задача выполнена |
info | object <Info> |
Required | Настройки и статистика задачи |
Info
Параметр | Тип | Обязательность | Описание |
---|---|---|---|
processed | integer |
Optional | Число обработанных событий |
total | integer |
Optional | Общее число проверенных событий |
from_time | string |
Required | Начало периода корреляции в формате 2006-01-02T15:04:05.000Z |
to_time | string |
Required | Конец периода корреляции в формате 2006-01-02T15:04:05.000Z |
es_index | string |
Required | Индекс opensearch |
rule_id | string |
Required | Идентификатор правила корреляции, по которому выполняется задача ретроспективной корреляции |
error | string |
Optional | Текст ошибки |
error_code | integer |
Optional | Код ошибки |
Пример тела запроса
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"created_at": "2023-12-20T00:00:01.652259Z",
"updated_at": "2023-12-20T00:00:01.652259Z",
"name": "string",
"type": "retro",
"status": "stopped",
"info": {
"processed": 0,
"total": 0,
"from_time": "string",
"to_time": "string",
"es_index": "string",
"rule_id": "728c1541-d6d1-4290-9a53-cdf01dd32d60",
"error": "string",
"error_code": 0
}
}
Успешный ответ
Статус код: 200
– успешное обновление информации о задаче ретроспективной корреляции.
Формат: JSON
.
Тело ответа: модель обновленной задачи ретроспективной корреляции.
Пример ответа
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"created_at": "2023-12-20T00:00:01.652259Z",
"updated_at": "2023-12-20T00:00:01.652259Z",
"name": "string",
"type": "retro",
"status": "stopped",
"info": {
"processed": 0,
"total": 0,
"from_time": "string",
"to_time": "string",
"es_index": "string",
"rule_id": "728c1541-d6d1-4290-9a53-cdf01dd32d60",
"error": "string",
"error_code": 0
},
"_relations": {
"retro_job_sets": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}
}
Другие возможные ответы
Статус код: 400
. Возможные ответы:
- “error”: “Bad Request” - Неверный тип параметра запроса, либо отсутствует обязательный параметр
- ”error”: “missing model id” - ID задачи не передан
- ”error”: “invalid model id: incorrect uuid” - Недопустимый формат ID
- ”error”: “empty name” - Попытка присвоить задаче пустое имя
- ”error”: “exceeded maximum length for a value” - Имя задачи не может быть больше 50 символов
- ”error”: “empty type” - Попытка присвоить задаче пустой тип
- ”error”: “incorrect job type — ’…‘” - Недопустимый тип задачи
- ”error”: “empty status” - Попытка присвоить задаче пустой статус
- ”error”: “incorrect job status — ’…‘” - Недопустимый статус задачи
- ”error”: “incorrect ‘processed’ field - must be more than 0” - Значение поля
info.processed
не может быть меньше 0 - ”error”: “incorrect ‘total’ field - must be more than 0” - Значение поля
info.total
не может быть меньше 0 - ”error”: “empty ‘from_time’” - Попытка присвоить полю
info.from_time
пустое значение - ”error”: “incorrect ‘from_time’ field format ’…‘” - Недопустимый формат поля
info.from_time
- ”error”: “empty ‘to_time’” - Попытка присвоить полю
info.to_time
пустое значение - ”error”: “incorrect ‘to_time’ field format ’…‘” - Недопустимый формат поля
info.to_time
- ”error”: “empty ‘rule_id’” - Попытка присвоить полю
info.rule_id
пустое значение - ”error”: “incorrect ‘rule_id’ field format” - Недопустимый формат поля
info.rule_id
Статус код: 404
. Возможные ответы:
- “error”: “not found” - Редактируемый объект не найден в БД
Статус код: 409
. Возможные ответы:
- “error”: “request data violates unique constraint” - Попытка создать задачу с существующим именем
Статус код: 500
. Возможные ответы:
- “error”: “Internal Server Error” - Другие ошибки при создании объекта.
Пример ответа
Код 400
{
"error": "Bad Request",
"error_code": 400
}
Код 404
{
"error": "Not Found",
"error_code": 404
}
Код 409
{
"error": "name_already_used",
"error_code": 409,
"extra": {
"fields": [
"name"
]
}
}
Код 500
{
"error": "Internal Server Error",
"error_code": 500
}