2
我想知道如果滷麪服務總線可以處理以下用例:滷麪 - 遞延信息,只有一個消息處理程序
- 隊列消息未來日期
- 如果有一個消息ProcessInvoice像客戶Id:1000這樣的上下文,我們是否可以只有一個處理程序執行消息。所以如果消息被複制,它不會再被處理。
由於
我想知道如果滷麪服務總線可以處理以下用例:滷麪 - 遞延信息,只有一個消息處理程序
由於
當然 - Rebus的可以bus.Defer
消息一些TimeSpan
到未來 - 例如推遲的消息給一些特定的日期交貨,這樣的事情可以做:
var delay = utcTimeOfWhenToDeliverTheMessage - DateTime.UtcNow;
bus.Defer(delay, messageToPostpone);
這就要求超時經理已配置。您可以通過配置超時管理器
Configure.With(...)
.(...)
.Timeouts(t => t.(...))
中的Rebus配置法術。
如果你想保證一個給定的消息只處理一次,即使可能傳送重複數據,也需要考慮幾件事情 - 很難告訴你處理它的最簡單方法,因爲有時它可能很容易只需執行idempotent,其他時間您需要跟蹤處理的消息的ID等。