Я использую NServiceBus в приложении pub / sub для уведомлений о событиях в веб-приложении.Прямо сейчас, когда что-то происходит (например, создается заметка), сообщение создается и отправляется на шину, и абонент забирает его и определяет, кому необходимо получить уведомление по электронной почте или SMS-сообщение о событии.
Я хочу сделать задержку в потоке обработки для некоторых событий.Цель этой задержки аналогична старой 7-секундной задержке в прямом эфире - она дает пользователю, который запустил время события, чтобы отменить то, что они сделали.
Рассмотрим наше событие CommentCreated
.Это событие отправляется, когда мой сервисный слой сохраняет новый комментарий.Этот комментарий может быть помечен как частный или внутренний, и пользователь нередко создает комментарий, а затем понимает, что он должен был пометить его как частный.
Я хотел бы выполнить эту задержку без Саги, потому что, с одной стороны, я не разбираюсь в них, на двоих они кажутся излишним для этого простого требования, а для трех я не хочу иметь дело с другим сервером базы данныхсохранить свои данные.Опция гетто будет состоять в том, чтобы установить таймер в обработчике моего подписчика и подождать несколько минут перед обработкой, но это просто кажется неправильным.
Возможно ли сделать это в NServiceBus? Я знаюнекоторые люди скажут, что нужно создать службу опроса, но такого рода вызов поражению цели служебной шины ...