Метод 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).

Общая механика работы по постановке и опросу статуса задач из внешних инструментов представлена на схеме: