Ajuste no RateLimiter e controle de taxa mais granular
Alterada a inicialização da variável `_windowStart` no arquivo RateLimiter.cs para simplificar o cálculo do início da janela de tempo, removendo o arredondamento baseado no intervalo. No arquivo Program.cs, o limite de requisições do RateLimiter foi reduzido de 400/minuto para 12/segundo, permitindo um controle de taxa mais preciso e restritivo.
This commit is contained in:
parent
c98aec2c24
commit
0db548b273
@ -13,7 +13,7 @@
|
|||||||
_maxRequests = maxRequests;
|
_maxRequests = maxRequests;
|
||||||
_interval = interval;
|
_interval = interval;
|
||||||
var now = DateTime.Now;
|
var now = DateTime.Now;
|
||||||
_windowStart = new DateTime(now.Year, now.Month, now.Day, now.Hour, now.Minute - (now.Minute % interval.Minutes), 0);
|
_windowStart = new DateTime(now.Year, now.Month, now.Day, now.Hour, now.Minute, 0);
|
||||||
_requestCount = 0;
|
_requestCount = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -29,7 +29,7 @@ class Program
|
|||||||
ServerCertificateCustomValidationCallback = (HttpRequestMessage req, X509Certificate2? cert, X509Chain? chain, SslPolicyErrors errors) => true
|
ServerCertificateCustomValidationCallback = (HttpRequestMessage req, X509Certificate2? cert, X509Chain? chain, SslPolicyErrors errors) => true
|
||||||
});
|
});
|
||||||
|
|
||||||
var rateLimiter = new RateLimiter(400, TimeSpan.FromMinutes(1));
|
var rateLimiter = new RateLimiter(12, TimeSpan.FromSeconds(1));
|
||||||
var useCase = new ProcessarMedicoesUseCase(postgresRepo, accessRepo, httpClient, rateLimiter);
|
var useCase = new ProcessarMedicoesUseCase(postgresRepo, accessRepo, httpClient, rateLimiter);
|
||||||
|
|
||||||
await useCase.ExecuteAsync(dataIni, dataFim, caminhoLog, CancellationToken.None);
|
await useCase.ExecuteAsync(dataIni, dataFim, caminhoLog, CancellationToken.None);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user