У меня есть веб-сервис заказов, в котором есть метод создания заказов.Когда метод вызывается, сообщение отправляется на служебную шину и обрабатывается обработчиком сообщений заказа.
Ежедневно и ежемесячно я должен генерировать отчет о заказе.Обычно у меня был бы обработчик сообщений заказа, хранящий заказ в базе данных, а затем было бы запланированное задание, которое считывало бы из базы данных и генерировало отчет.Но мне было интересно, есть ли более ориентированный на сообщения способ сделать это?
Я думал о том, чтобы обработчик сообщений заказа опубликовал сообщение, на которое могут подписаться различные службы отчетности (например, ежедневно и ежемесячно).Сообщения будут накапливаться в определенной очереди до тех пор, пока сервисы не будут активированы с заданными интервалами (ежедневно / ежемесячно).Затем службы будут обрабатывать сообщения в своей очереди и генерировать отчет.Это путь или я далеко?
Любые указатели будут с благодарностью.
Обновление
Можно ли (с NServiceBus) хранить сообщения в очереди издателя, а затем публиковать их только с заданным интервалом?Или же все должно быть наоборот, чтобы издатель немедленно опубликовал, и обработка подписчиком была запланирована?