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