Клиент создаёт задачу через API, worker получает её из очереди, строит файл и сохраняет результат. API отдаёт статус и контролируемую ссылку на скачивание только владельцу.
Как связать компоненты сервиса генерации отчётов
Клиент создаёт задачу через API, worker получает её из очереди, строит файл и сохраняет результат. API отдаёт статус и контролируемую ссылку на скачивание только владельцу.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Есть веб-клиент, API, БД задач, очередь, worker и хранилище файлов. Опишите путь запроса на большой отчёт и последующее скачивание.
Ответ
Клиент создаёт задачу через API, worker получает её из очереди, строит файл и сохраняет результат. API отдаёт статус и контролируемую ссылку на скачивание только владельцу.
Схема: клиент → API → БД/outbox → очередь → worker → хранилище; worker обновляет статус в БД, клиент читает его через API. Не включайте долгую генерацию в HTTP-транзакцию. Предусмотрите повтор, срок хранения файла и проверку доступа при скачивании; знание ID задачи само по себе не должно давать доступ.