[英]How to have dynamic Jittered Back-off for wait and retry in .Net core using polly
我正在使用抖動實現等待並重試,見下文。 在下面的示例中,延遲是相同的。
如何使延遲動態化?
var delay = Backoff.DecorrelatedJitterBackoffV2(medianFirstRetryDelay: TimeSpan.FromSeconds(1), retryCount: 3);
var retryPolicy = Policy.Handle<FooException>().WaitAndRetryAsync(delay);
在我的項目中,我有 Azure function https://docs.microsoft.com/en-us/azure/azure-jection/functions-
public class Startup : FunctionsStartup
{
public override void Configure(IFunctionsHostBuilder builder)
{
var configuration = builder.GetContext().Configuration;
builder.Services.RegisterService(configuration);
}
}
public static IHttpClientBuilder RegisterService(this IServiceCollection serviceCollection,IConfiguration configuration)
{
return serviceCollection.AddHttpClient<IService, Service()
.AddPolicyHandler(RetryPolicyHandler.GetRetryPolicy())
}
public static IAsyncPolicy<HttpResponseMessage> GetRetryPolicy(IConfiguration configuration)
{
var delay =Backoff.DecorrelatedJitterBackoffV2(medianFirstRetryDelay: TimeSpan.FromSeconds(1), retryCount: 3);
return HttpPolicyExtensions.HandleTransientHttpError().WaitAndRetryAsync(delay);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.