我很难理解与QueueClients一起使用的RetryExponential类(并且我也假设SubscriptionClients)。ServiceBus重试指定的属性含义
该属性列出here,但我不认为我的解释他们的描述是正确的。
这里是我的解释......
var minBackoff = TimeSpan.FromMinutes(5); // wait 5 minutes for the first attempt?
var maxBackoff = TimeSpan.FromMinutes(15); // all attempts must be done within 15 mins?
var deltaBackoff = TimeSpan.FromSeconds(30); // the time between each attempt?
var terminationTimeBuffer = TimeSpan.FromSeconds(90); // the length of time each attempt is permitted to take?
var retryPolicy = new RetryExponential(minBackoff, maxBackoff, deltaBackoff, terminationTimeBuffer, 10);
我工作者的角色只是试图在即使我认为基于配置过去一小时内处理掉队列中的消息的两倍以上,应该更频繁地熄灭(每30秒+在先前尝试达90秒期间使用的任何处理时间)。我认为这些设置会每2分钟强制一次重试。但是,我不明白这个解释是如何根据指数的。
我的解释是否对每个房产(在上面的评论中)是正确的?如果不是(我认为他们不正确),每个属性意味着什么?
迈克你断言接收不参加重试是正确的。接收操作将返回null或消息,然后需要再次调用以接收下一条消息。重试策略用于处理错误并重试这些操作,例如完成消息,发送消息或创建队列等。 –
@MikeWo每个文档和人员都会谈论MaximumBackoff,但是它的价值是什么?你知道价值吗? –
@NuriYILMAZ MaximumBackoff是一个时间跨度。默认情况下,服务总线的重试策略由RetryPolicy.Default设置,它使用30秒的MaximumBackoff。如果您将其设置为其他内容,则希望使用在检查队列进行工作时愿意等待的时间最长的值。 – MikeWo