Метод POST /api/v1/get_task_status
Краткое описание
Метод предназначен для периодического опроса статуса задач из «внешних» оркестраторов:
В параметрах передается
id_connector;в теле передается массив из id задачи (
id_task).Возвращает список задач (Task) для указанного Коннектора с опциональной фильтрацией по списку id задач и диапазону времени.
Требуется аутентификация (Depends(check_login_pass)). Ответ: List[Task].
Параметры (query)
id_connector(string, обязательно) — идентификатор коннектора.id_tasks(list[string], опционально) — список id_task для фильтрации. Передаётся как повторяющийся параметр (?id_tasks=a&- id_tasks=b) или как CSV в зависимости от клиента.dt_from(datetime, опционально) — фильтр по полю Task.timestamp, >= dt_from (ISO 8601).dt_to(datetime, опционально) — фильтр по полю Task.timestamp, <= dt_to (ISO 8601).
Поведение
Проверяет существование коннектора (connector_exists). Если не найден — возвращает 404.
Формирует SELECT Task WHERE Task.id_connector == id_connector.
Если
dt_fromзадан — добавляет WHERE Task.timestamp >= dt_from.Если
dt_toзадан — добавляет WHERE Task.timestamp <= dt_to.Если
id_tasksзадан — добавляет WHERE Task.id_task IN (id_tasks).Выполняет запрос и возвращает список задач.
Успешный ответ (200)
Content-Type: application/json
Тело: массив объектов Task (модель Task)
Фильтрация по времени использует поле
timestamp, а неecc_dt.id_d_tasksследует передавать в формате, поддерживаемом вашим HTTP-клиентом (повторяющиеся параметры или CSV).
Общая механика работы по постановке и опросу статуса задач из внешних инструментов представлена на схеме: