Lower minimum delay between requests to 1 second

This commit is contained in:
pcjones
2024-03-08 10:00:29 +01:00
parent cfdfa89009
commit f88daf4955

View File

@@ -11,6 +11,7 @@ namespace UmlautAdaptarr.Services
private readonly ILogger<ProxyService> _logger;
private readonly IMemoryCache _cache;
private static readonly ConcurrentDictionary<string, DateTimeOffset> _lastRequestTimes = new();
private static readonly TimeSpan MINIMUM_DELAY_FOR_SAME_HOST = new(0, 0, 0, 1);
public ProxyService(IHttpClientFactory clientFactory, IConfiguration configuration, ILogger<ProxyService> logger, IMemoryCache cache)
{
@@ -26,9 +27,9 @@ namespace UmlautAdaptarr.Services
if (_lastRequestTimes.TryGetValue(host, out var lastRequestTime))
{
var timeSinceLastRequest = DateTimeOffset.Now - lastRequestTime;
if (timeSinceLastRequest < TimeSpan.FromMilliseconds(1500))
if (timeSinceLastRequest < MINIMUM_DELAY_FOR_SAME_HOST)
{
await Task.Delay(TimeSpan.FromMilliseconds(1500) - timeSinceLastRequest);
await Task.Delay(MINIMUM_DELAY_FOR_SAME_HOST - timeSinceLastRequest);
}
}
_lastRequestTimes[host] = DateTimeOffset.Now;