feat(Worker): Implementa política de reintentos con Polly para resiliencia en la obtención de datos
This commit is contained in:
		| @@ -48,7 +48,7 @@ namespace Mercados.Infrastructure.DataFetchers | ||||
|  | ||||
|                 await _cotizacionRepository.GuardarMuchosAsync(cotizaciones); | ||||
|                 await UpdateSourceInfoAsync(); | ||||
|                  | ||||
|  | ||||
|                 _logger.LogInformation("Fetch para {SourceName} completado exitosamente. Se guardaron {Count} registros.", SourceName, cotizaciones.Count); | ||||
|                 return (true, $"Proceso completado. Se guardaron {cotizaciones.Count} registros."); | ||||
|             } | ||||
| @@ -61,7 +61,8 @@ namespace Mercados.Infrastructure.DataFetchers | ||||
|  | ||||
|         private async Task<string> GetHtmlContentAsync() | ||||
|         { | ||||
|             var client = _httpClientFactory.CreateClient(); | ||||
|             // Pedimos el cliente HTTP con el nombre específico que tiene la política de Polly | ||||
|             var client = _httpClientFactory.CreateClient("MercadoAgroFetcher"); | ||||
|             // Es importante simular un navegador para evitar bloqueos. | ||||
|             client.DefaultRequestHeaders.UserAgent.ParseAdd("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"); | ||||
|  | ||||
| @@ -142,7 +143,7 @@ namespace Mercados.Infrastructure.DataFetchers | ||||
|                 await _fuenteDatoRepository.ActualizarAsync(fuente); | ||||
|             } | ||||
|         } | ||||
|          | ||||
|  | ||||
|         // --- Funciones de Ayuda para Parseo --- | ||||
|         private readonly CultureInfo _cultureInfo = new CultureInfo("es-AR"); | ||||
|         private decimal ParseDecimal(string value) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user