From c918d5c71704fe7f2fa4a5876240a33fdddc6e9d Mon Sep 17 00:00:00 2001 From: malik masis Date: Wed, 24 Aug 2022 13:44:16 +0300 Subject: [PATCH] Added retry mechanism --- .../BasketServiceModule.cs | 16 ++++ .../EShopOnAbp.BasketService.csproj | 87 ++++++++++--------- 2 files changed, 60 insertions(+), 43 deletions(-) diff --git a/services/basket/src/EShopOnAbp.BasketService/BasketServiceModule.cs b/services/basket/src/EShopOnAbp.BasketService/BasketServiceModule.cs index 5f84825a..863e6b15 100644 --- a/services/basket/src/EShopOnAbp.BasketService/BasketServiceModule.cs +++ b/services/basket/src/EShopOnAbp.BasketService/BasketServiceModule.cs @@ -5,6 +5,7 @@ using EShopOnAbp.Shared.Hosting.Microservices; using Microsoft.AspNetCore.Cors; using Microsoft.Extensions.Caching.Distributed; using Microsoft.Extensions.Options; +using Polly; using Volo.Abp; using Volo.Abp.Application; using Volo.Abp.AspNetCore.Mvc; @@ -30,6 +31,21 @@ namespace EShopOnAbp.BasketService; )] public class BasketServiceModule : AbpModule { + public override void PreConfigureServices(ServiceConfigurationContext context) + { + PreConfigure(options => + { + options.ProxyClientBuildActions.Add((remoteServiceName, clientBuilder) => + { + clientBuilder.AddTransientHttpErrorPolicy(policyBuilder => + policyBuilder.WaitAndRetryAsync( + 3, + i => TimeSpan.FromSeconds(Math.Pow(2, i)) + ) + ); + }); + }); + } public override void ConfigureServices(ServiceConfigurationContext context) { var hostingEnvironment = context.Services.GetHostingEnvironment(); diff --git a/services/basket/src/EShopOnAbp.BasketService/EShopOnAbp.BasketService.csproj b/services/basket/src/EShopOnAbp.BasketService/EShopOnAbp.BasketService.csproj index 79db6977..6ec0d29c 100644 --- a/services/basket/src/EShopOnAbp.BasketService/EShopOnAbp.BasketService.csproj +++ b/services/basket/src/EShopOnAbp.BasketService/EShopOnAbp.BasketService.csproj @@ -1,46 +1,47 @@ - - - - net6.0 - enable - enable - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + net6.0 + enable + enable + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +