首页 > 解决方案 > 当设置了 backoffCoefficient 时,如何计算持久函数的下一次重试时间?

问题描述

如果我的活动功能失败,我希望它自动重试。我希望它在几秒钟后先重试,然后再重复。最后一次尝试应该在大约 4 天之后。最初的重试应该相隔几秒钟,然后频率应该回退,以便最后每 4 小时左右尝试一次。应该如何设置 RetryOptions 的参数来完成此操作?即在给定以下参数的情况下,计算重试时间序列的公式是什么:

firstRetryIntervalInMilliseconds = 3000
maxNumberOfAttempts  = 100
backoffCoefficient  = 2

标签: azure-durable-functions

解决方案


CallActivityWithRetry 使用指数退避机制来计算重试间隔。(源码)第n次重试的延迟由这个公式计算:

firstRetryIntervalInMilliseconds * backoffCoefficient ^ n

RetryOptions类具有许多可配置属性,包括和,它们应该有助于实现您所需的重试行为。MaxRetryIntervalRetryTimeout


推荐阅读