Как лучше всего создать службу для обработки долго выполняющихся процессов в очереди? Например, это то, что мы пытаемся сделать
- Пользователь загружает данные 401k в сеть
- Данные поступают в очередь обработки (таблица базы данных)
- Обрабатывается 401 КБ (может занять пару минут на каждого клиента)
- Пользователю сообщается по электронной почте, что 401k был принят
Конечно, мы могли бы написать сервис для обработки этого, но что, если сервис выйдет из строя? Как кто-то будет уведомлен? Что делать, если есть исключение? Кроме того, должна ли эта служба обрабатывать другие процессы, не инициированные пользователем (например, отправка электронной почты и т. д.).
У нас есть команда опытных разработчиков .NET, но весь наш опыт связан с веб-приложениями/клиентскими или консольными приложениями, запускаемыми планировщиком задач, поэтому мы будем очень признательны за любое указание, которое вы можете дать.