From 18e6e8d3c0a378a172ad8e8afd31109673460717 Mon Sep 17 00:00:00 2001 From: dmolinari Date: Wed, 20 Aug 2025 18:08:17 -0300 Subject: [PATCH] Fix Program.cs --- .../src/Elecciones.Worker/Program.cs | 21 ++++++------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/Elecciones-Web/src/Elecciones.Worker/Program.cs b/Elecciones-Web/src/Elecciones.Worker/Program.cs index 448aa68..1006b47 100644 --- a/Elecciones-Web/src/Elecciones.Worker/Program.cs +++ b/Elecciones-Web/src/Elecciones.Worker/Program.cs @@ -83,25 +83,16 @@ builder.Services.AddHttpClient("ElectoralApiClient", client => .AddPolicyHandler(GetRetryPolicy()); // --- LIMITADOR DE VELOCIDAD BASADO EN TOKEN BUCKET --- -/*builder.Services.AddSingleton(sp => +builder.Services.AddSingleton(sp => new TokenBucketRateLimiter(new TokenBucketRateLimiterOptions { - // El tamaño máximo del cubo (la ráfaga máxima que permitimos). - TokenLimit = 50, - - // Con qué frecuencia se añaden nuevas fichas al cubo. - ReplenishmentPeriod = TimeSpan.FromSeconds(1), - - // Cuántas fichas se añaden en cada período. - TokensPerPeriod = 20, - - // Cuántas peticiones pueden estar en cola esperando una ficha. - QueueLimit = 1000, - - // Cómo se comporta cuando la cola está llena. + TokenLimit = 50, // Ráfaga máxima permitida + ReplenishmentPeriod = TimeSpan.FromSeconds(1), + TokensPerPeriod = 20, // Ritmo de recarga: 20 peticiones por segundo + QueueLimit = 1000, QueueProcessingOrder = QueueProcessingOrder.OldestFirst })); -*/ + builder.Services.AddScoped(); // Registramos el servicio de token como un Singleton para que sea compartido.