我在我的应用程序中使用 MassTransit,并希望配置多个重试策略。文档没有提到他们将如何交互,所以我希望有人能澄清一下。
我想要做的是为一些等待可用资源的消费者实施二次重试。如果资源不可用,我想抛出一个特定的异常并稍后重试。
为此,我有这样的事情。
ep.UseRetry(retryConfig =>
{
retryConfig.Handle<RetryLaterException>();
retryConfig.Interval(5, TimeSpan.FromMinutes(1));
});
我还想要一个通用的重试策略来处理所有失败,除非我需要重试。
ep.UseRetry(retryConfig =>
{
retryConfig.Ignore<RetryLaterException>();
retryConfig.Interval(5, TimeSpan.FromSeconds(1));
});
MassTransit 可以处理这个问题吗?我应该将这些重试策略放置在哪个级别以获得最佳结果(总线、端点或消费者)?
谢谢