我有使用 .NET Core 3.1\C# 的 Azure Function 我正在尝试使用重试策略。 请参阅下面的函数代码:
using System;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Host;
using Microsoft.Extensions.Logging;
namespace DevFunctionApp
{
public class Function1
{
private static int _counter = 0;
public Function1() { }
[FunctionName("Function1")]
[FixedDelayRetry(5, "00:01:00")] // delayInterval = 1 minute
public void Run([TimerTrigger("0 */10 * * * *")] TimerInfo myTimer, ILogger log) // it runs every 10 minutes
{
log.LogInformation($"C# Timer trigger function executed at: {DateTime.Now}");
throw new System.Exception("Azure Function Rety Exception");
}
}
}
当函数失败时,重试逻辑在第一次、第二次和第三次重试时正常工作,但对于最后两个第四次和第五次,它会同时触发它们。请参阅下面的日志:
不管设置了多少次重试或时间间隔,它总是同时触发最后两次重试。
问题:如何解决最后两次重试同时触发的问题?