using Services.Games; using Services.Tickets; namespace WorkerService1; public class Worker : BackgroundService { private readonly ILogger _logger; private readonly IServiceScopeFactory _serviceScopeFactory; public Worker(ILogger logger, IServiceScopeFactory serviceScopeFactory) { _logger = logger; _serviceScopeFactory = serviceScopeFactory; } protected override async Task ExecuteAsync(CancellationToken stoppingToken) { using (var scope = _serviceScopeFactory.CreateScope()) { var ticketService = scope.ServiceProvider.GetRequiredService(); for (int i = 0; i < 100000; i++) { var ticket = await ticketService.GetNewTicket(); } var gameService = scope.ServiceProvider.GetRequiredService(); var winNumbers = gameService.GetWinNumbers(); var winners = await gameService.GetWinnersTickets(winNumbers); } } }