Mismo que anterior Commit
This commit is contained in:
		| @@ -7,49 +7,30 @@ using Mercados.Worker; | ||||
| using Polly; | ||||
| using Polly.Extensions.Http; | ||||
| using Mercados.Infrastructure.Services; | ||||
| using DotNetEnv; | ||||
| using DotNetEnv.Configuration; | ||||
|  | ||||
| var envFilePath = Path.GetFullPath(Path.Combine(AppContext.BaseDirectory, "../../../../../.env")); | ||||
|  | ||||
| // Cargamos el archivo .env desde la ruta explícita. | ||||
| // Si no lo encuentra, Load retornará false. | ||||
| if (!Env.Load(envFilePath).Any()) | ||||
| { | ||||
|     Console.WriteLine($"ADVERTENCIA: No se pudo encontrar el archivo .env en la ruta: {envFilePath}"); | ||||
| } | ||||
|  | ||||
| Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); | ||||
|  | ||||
| IHost host = Host.CreateDefaultBuilder(args) | ||||
|     .ConfigureServices((hostContext, services) => | ||||
|     { | ||||
|         // La línea 'config.AddDotNetEnv(optional: true);' ha sido eliminada. | ||||
|  | ||||
|         IConfiguration configuration = hostContext.Configuration; | ||||
|  | ||||
|         // --- 1. Registro de Servicios de Infraestructura --- | ||||
|         // El resto del código no cambia. IConfiguration recogerá automáticamente | ||||
|         // las variables de entorno que cargamos correctamente. | ||||
|         services.AddSingleton<IDbConnectionFactory, SqlConnectionFactory>(); | ||||
|         services.AddScoped<ICotizacionGanadoRepository, CotizacionGanadoRepository>(); | ||||
|         services.AddScoped<ICotizacionGranoRepository, CotizacionGranoRepository>(); | ||||
|         services.AddScoped<ICotizacionBolsaRepository, CotizacionBolsaRepository>(); | ||||
|         services.AddScoped<IFuenteDatoRepository, FuenteDatoRepository>(); | ||||
|         //services.AddScoped<INotificationService, ConsoleNotificationService>(); | ||||
|         services.AddScoped<INotificationService, EmailNotificationService>(); | ||||
|  | ||||
|         // --- 2. Registro de los Data Fetchers --- | ||||
|         // Descomentados para la versión final y funcional. | ||||
|         services.AddScoped<IDataFetcher, MercadoAgroFetcher>(); | ||||
|         services.AddScoped<IDataFetcher, BcrDataFetcher>(); | ||||
|         services.AddScoped<IDataFetcher, FinnhubDataFetcher>(); | ||||
|         services.AddScoped<IDataFetcher, YahooFinanceDataFetcher>(); | ||||
|  | ||||
|         // --- 3. Configuración de Clientes HTTP con Polly --- | ||||
|         services.AddHttpClient("MercadoAgroFetcher").AddPolicyHandler(GetRetryPolicy()); | ||||
|         services.AddHttpClient("BcrDataFetcher").AddPolicyHandler(GetRetryPolicy()); | ||||
|         services.AddHttpClient("FinnhubDataFetcher").AddPolicyHandler(GetRetryPolicy()); | ||||
|  | ||||
|         // --- 4. Registro del Worker Principal --- | ||||
|         services.AddHostedService<DataFetchingService>(); | ||||
|     }) | ||||
|     .Build(); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user