CompleteQueueTaskCommand
Назначение
Завершение задачи панорамной съёмки. Статус задачи переводится в Completed.
Цель
Зафиксировать успешное выполнение задачи воркером.
Command: CompleteQueueTaskCommand (Входные данные)
| Поле | Тип | Обязательность | Описание |
|---|---|---|---|
| TaskId | Guid | Обязательное | Идентификатор задачи |
примечание
TenantId берётся из контекста запроса.
Result: CompleteQueueTaskCommandResult (Выходные данные)
| Поле | Тип | Обязательность | Описание |
|---|---|---|---|
| Success | bool | Обязательное | Признак успешного завершения |
Валидация
- Задача с TaskId должна существовать. Если не найдена — вернуть ошибку.
- Задача должна находиться в статусе Started. Если статус другой — вернуть ошибку «Недопустимый статус».
Бизнес-логика (Handler)
- Получить сущность PanoramasQueueTaskEntity по TaskId (и TenantId). Если не найдена — вернуть ошибку «Задача не найдена».
- Если Status != Started — вернуть ошибку «Задача не в статусе выполнения».
- Обновить Status = Completed, UpdatedAt = текущее время. Сохранить в БД.
- Сформировать результат (Success = true). Вернуть результат клиенту.
Связанные сущности
API
QueueTasksController.CompleteQueueTask — POST {taskId}/complete