Перейти к основному содержимому

CompleteQueueTaskCommand

Назначение

Завершение задачи панорамной съёмки. Статус задачи переводится в Completed.

Цель

Зафиксировать успешное выполнение задачи воркером.

Command: CompleteQueueTaskCommand (Входные данные)

ПолеТипОбязательностьОписание
TaskIdGuidОбязательноеИдентификатор задачи
примечание

TenantId берётся из контекста запроса.

Result: CompleteQueueTaskCommandResult (Выходные данные)

ПолеТипОбязательностьОписание
SuccessboolОбязательноеПризнак успешного завершения

Валидация

  • Задача с TaskId должна существовать. Если не найдена — вернуть ошибку.
  • Задача должна находиться в статусе Started. Если статус другой — вернуть ошибку «Недопустимый статус».

Бизнес-логика (Handler)

  1. Получить сущность PanoramasQueueTaskEntity по TaskId (и TenantId). Если не найдена — вернуть ошибку «Задача не найдена».
  2. Если Status != Started — вернуть ошибку «Задача не в статусе выполнения».
  3. Обновить Status = Completed, UpdatedAt = текущее время. Сохранить в БД.
  4. Сформировать результат (Success = true). Вернуть результат клиенту.

Связанные сущности

API

QueueTasksController.CompleteQueueTask — POST {taskId}/complete