diff --git a/src/FilterLists.Agent/Extensions/ServiceCollectionExtensions.cs b/src/FilterLists.Agent/Extensions/ServiceCollectionExtensions.cs
index c1e268384..5f72129bd 100644
--- a/src/FilterLists.Agent/Extensions/ServiceCollectionExtensions.cs
+++ b/src/FilterLists.Agent/Extensions/ServiceCollectionExtensions.cs
@@ -1,4 +1,5 @@
using System;
+using System.Net;
using System.Net.Http;
using CommandLine;
using FilterLists.Agent.AppSettings;
@@ -13,6 +14,7 @@
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using Octokit;
+using Polly;
using Credentials = Octokit.Credentials;
using Repository = LibGit2Sharp.Repository;
@@ -76,7 +78,9 @@ private static void AddAgentHttpClient(this IServiceCollection services)
{
b.PrimaryHandler = new HttpClientHandler {AllowAutoRedirect = false};
b.Build();
- });
+ }).AddTransientHttpErrorPolicy(b =>
+ b.OrResult(r => r.StatusCode == HttpStatusCode.TooManyRequests)
+ .WaitAndRetryAsync(5, i => i * TimeSpan.FromSeconds(3)));
}
private static void AddGitHubClient(this IServiceCollection services)
diff --git a/src/FilterLists.Agent/FilterLists.Agent.csproj b/src/FilterLists.Agent/FilterLists.Agent.csproj
index 091683d30..b66b0bdb2 100644
--- a/src/FilterLists.Agent/FilterLists.Agent.csproj
+++ b/src/FilterLists.Agent/FilterLists.Agent.csproj
@@ -40,12 +40,14 @@
+
+