This repository was archived by the owner on Feb 6, 2025. It is now read-only.

Description
It would be nice if the saga could set a timeout in the message handlers.
For example, the saga could implement such an interface, similar to ISagaAction:
public interface ISagaTimeoutAction
{
Task HandleTimeoutAsync(ISagaContext context);
Task CompensateTimeoutAsync(ISagaContext context);
}
(I'm supposing that a timeout doesn't necessarily complete the Saga.)
Timeout could be scheduled in message handler through a method of ISaga
public interface ISaga
{
// ...
void ScheduleTimeout(TimeSpan timeSpan, ISagaContext context);
}
Source of inspiration: https://docs.particular.net/nservicebus/sagas/timeouts