I'm building a system using NSerivceBus, that should only send the messages to a remote handler on a specific time frames. So far, I managed to place all the messages on a processing queue and from there check for availability of the remote handler, and if the handler is not available, I'm not sending the messages over the boundary. To do this I'm using
Bus.HandleCurrentMessageLater()
but NSB will keep trying right after. It is not like the other listener is going to be up and running in a few minutes, but it may have hours of outage window, so this is not exactly efficient.
Wondering if there's way to have the bus retry the message on some time later, or do not keep retrying and wait for an amount of time before next retry. I'm going using Sagas, just simple command/handler messaging.
You can use Bus.Defer to get the message back after a certain timespan has elapsed in version 3.0.