0

我在我的应用程序中使用 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 可以处理这个问题吗?我应该将这些重试策略放置在哪个级别以获得最佳结果(总线、端点或消费者)?

谢谢

4

0 回答 0