Мне интересно, какой подход к решению проблемы
:
- У меня есть веб-API, который может принимать запросы от клиента
- Уровень API говоритна бизнес-уровень, а затем на уровень данных
- Уровень данных Получает огромный набор записей (5000000 строк), теперь бизнес-уровень обрабатывает столбцы и строки (используя максимальные потоки процессора)
- после обработкиAPI передает содержимое в виде excel / csv клиенту (браузеру)
Сейчас вся загрузка происходит в одном потоке (запуск и ожидание готовности ответа)
IЯ хотел бы изолировать эту огромную бизнес-операцию обработки 5000000 строк в отдельном механизме или очереди задач (я не хочу, чтобы мой веб-сайт выпадал из-за нехватки памяти), а также я бы хотел, чтобы взаимодействие с пользователем было гладким.
Попытка использовать сервер push-событий / сигнализатора / или длинный опрос браузера, чтобы я мог отправить файл, как только данные / файл обработаны и готовы.
Есть ли лучший способ добиться этого?тот же самый?