我在我的应用程序中使用MassTransit,并希望配置多个重试策略。 documentation没有提及他们将如何互动,所以我希望有人可以澄清。
我想要做的是为等待可用资源的一些消费者实施二次重试。如果资源不可用,我想抛出一个特定的异常并稍后重试。
为此,我有类似的东西。
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可以处理吗?我应该在哪个级别放置这些重试策略以获得最佳结果(总线,端点或消费者)?
谢谢