using System.Threading.Tasks; using Hangfire; using MalwareMultiScan.Backends.Backends.Interfaces; using MalwareMultiScan.Backends.Extensions; using MalwareMultiScan.Backends.Services.Implementations; using MalwareMultiScan.Backends.Services.Interfaces; using MalwareMultiScan.ScannerWorker.Services; using MalwareMultiScan.Shared.Extensions; using MalwareMultiScan.Shared.Services.Interfaces; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; namespace MalwareMultiScan.ScannerWorker { public static class Program { public static async Task Main(string[] args) { await Host.CreateDefaultBuilder(args) .ConfigureLogging((context, builder) => { builder.AddConsole(); builder.AddConfiguration(context.Configuration); }) .ConfigureAppConfiguration(builder => { builder.AddJsonFile("appsettings.json"); builder.AddEnvironmentVariables(); }) .ConfigureServices((context, services) => { services.AddConsul(context.Configuration); services.AddScanBackend(context.Configuration); services.AddHangfire(context.Configuration, context.Configuration.GetValue("BACKEND_ID")); services.AddSingleton(); services.AddSingleton(); services.AddHostedService(); }) .UseConsoleLifetime() .Build() .RunAsync(); } } }