MassTransit:如何为 Send/Publish 配置重试策略
MassTransit: How to configure retry policy for Send/Publish
我正在将 MassTransit 与 Azure 服务总线结合使用,并希望为 Send/Publish 配置重试策略。
我的做法是:
```private void ConfigureUsingAzureServiceBus(IServiceCollectionConfigurator x)
{
x.AddBus(provider => Bus.Factory.CreateUsingAzureServiceBus(cfg =>
{
cfg.ConfigurePublish(c =>
{
c.UseRetry(rc => rc.Interval(90, TimeSpan.FromSeconds(2)));
});
cfg.ConfigureSend(c =>
{
c.UseRetry(rc => rc.Interval(90, TimeSpan.FromSeconds(2)));
});```
我不确定这是否正确,因为我有时会收到:Microsoft.Azure.ServiceBus.ServiceBusException 并且我的消息没有发送到总线。
MassTransit 不支持 Publish/Send 的重试政策。
对于 Azure 服务总线,传输在后台使用 Azure 服务总线 .NET 客户端库的重试策略。如果最终抛出异常,那是因为客户端库放弃了。
我正在将 MassTransit 与 Azure 服务总线结合使用,并希望为 Send/Publish 配置重试策略。
我的做法是:
```private void ConfigureUsingAzureServiceBus(IServiceCollectionConfigurator x)
{
x.AddBus(provider => Bus.Factory.CreateUsingAzureServiceBus(cfg =>
{
cfg.ConfigurePublish(c =>
{
c.UseRetry(rc => rc.Interval(90, TimeSpan.FromSeconds(2)));
});
cfg.ConfigureSend(c =>
{
c.UseRetry(rc => rc.Interval(90, TimeSpan.FromSeconds(2)));
});```
我不确定这是否正确,因为我有时会收到:Microsoft.Azure.ServiceBus.ServiceBusException 并且我的消息没有发送到总线。
MassTransit 不支持 Publish/Send 的重试政策。
对于 Azure 服务总线,传输在后台使用 Azure 服务总线 .NET 客户端库的重试策略。如果最终抛出异常,那是因为客户端库放弃了。