private async Task DoWork(CancellationToken stoppingToken) { while (true) { try { _logger.LogInformation("Account discovering process started"); using (var scope = Services.CreateScope()) { _accountDiscoveringService = scope.ServiceProvider.GetRequiredService <IAccountDiscoveringService>(); var accountToList = await _accountDiscoveringService.GetAccountList(); if (accountToList.Any()) { var options = new ParallelOptions() { MaxDegreeOfParallelism = 2 }; foreach (var account in accountToList) { await _accountDiscoveringService.UpdateAccountPaymentsAsync(account); } } _logger.LogInformation("Account discovering process finished"); } } catch (Exception e) { _logger.LogError(e, e.Message); } } }
public TdsController(ILogger <TdsController> logger, IMapper mapper, IAccountInsertHandler accountInsertHandler, IAccountDiscoveringService accountDiscoveringService , IAccountQueryHandler accountQueryHandler) { _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _mapper = mapper ?? throw new ArgumentNullException(nameof(mapper)); _accountInsertHandler = accountInsertHandler ?? throw new ArgumentNullException(nameof(accountInsertHandler)); _accountQueryHandler = accountQueryHandler ?? throw new ArgumentNullException(nameof(accountQueryHandler)); _accountDiscoveringService = accountDiscoveringService ?? throw new ArgumentNullException(nameof(accountDiscoveringService)); }