【发布时间】:2020-02-08 03:16:16
【问题描述】:
我正在为消息太快进入死信队列而苦苦挣扎。我已经指定了这样的 ExponentialRetry 策略:
private readonly RetryExponential _retryPolicy = new RetryExponential(
TimeSpan.FromSeconds(1),
TimeSpan.FromMinutes(20),
10);
当 SQL Server 暂时关闭 ("because its replica role is RESOLVING which does not allow connections. Try the operation again later.") 时,消息将在死信队列中结束 重试。
我该怎么做才能重试?
我查看了the source code for the SDK,似乎只有短暂的 ServiceBusException 才会重试,但我觉得这很奇怪。
更新:
在与我的同事讨论并在 Application Insights 中查看更多信息后,我可以看到它实际上已经重试了 10 次,但都在 2 秒内完成。这是在订阅本身上设置的最大传递计数,而不是在客户端上。此交付不受我想要和需要的任何指数退避的影响。
【问题讨论】:
标签: azureservicebus azure-servicebus-queues