我想知道Rebus服务总线是否可以处理以下用例:
由于
答案 0 :(得分:1)
当然 - Rebus可以bus.Defer
向TimeSpan
发送一些var delay = utcTimeOfWhenToDeliverTheMessage - DateTime.UtcNow;
bus.Defer(delay, messageToPostpone);
未来的消息 - 例如推迟将消息传递到某个特定日期,类似这样的事情可以做到:
Configure.With(...)
.(...)
.Timeouts(t => t.(...))
需要配置超时管理器。您可以通过
配置超时管理器{{1}}在Rebus配置法术中
。
如果您想保证给定的消息只处理一次,即使可能会发送重复消息,还有几件事需要考虑 - 很难告诉您处理它的最简单方法,因为有时它很容易只需执行已执行的操作idempotent,其他时候您需要跟踪已处理邮件的ID等。