Esempio n. 1
0
 public SeasonService(IRocketLeagueDataRetrievalService rocketLeagueDataRetrievalService, DatabaseService databaseService,
                      ILogger <SeasonService> logger, IHostApplicationLifetime hostApplicationLifetime)
 {
     _rocketLeagueDataRetrievalService = rocketLeagueDataRetrievalService ?? throw new ArgumentNullException(nameof(rocketLeagueDataRetrievalService));
     _hostApplicationLifetime          = hostApplicationLifetime ?? throw new ArgumentNullException(nameof(hostApplicationLifetime));
     _databaseService = databaseService ?? throw new ArgumentNullException(nameof(databaseService));
     _logger          = logger ?? throw new ArgumentNullException(nameof(logger));
     _rankedSeasonBoundariesDictionary = new ConcurrentDictionary <int, RankedSeasonBoundaries>();
 }
Esempio n. 2
0
        public MmrRetrievalService(ILogger <MmrRetrievalService> logger, MmrRetrievalSettings settings,
                                   DatabaseService databaseService, IRocketLeagueDataRetrievalService rocketLeagueDataRetrievalService, MmrDataStore mmrDataStore,
                                   SeasonService seasonService)
        {
            _logger          = logger ?? throw new ArgumentNullException(nameof(logger));
            _settings        = settings ?? throw new ArgumentNullException(nameof(settings));
            _databaseService = databaseService ?? throw new ArgumentNullException(nameof(databaseService));
            _rocketLeagueDataRetrievalService = rocketLeagueDataRetrievalService ?? throw new ArgumentException(nameof(rocketLeagueDataRetrievalService));
            _seasonService       = seasonService ?? throw new ArgumentNullException(nameof(seasonService));
            _databaseRetryPolicy = Policy
                                   .Handle <Exception>()
                                   .WaitAndRetryForeverAsync((retryCount) => TimeSpan.FromSeconds(Math.Min(60, retryCount * 10)),
                                                             (e, delay) => _logger.LogError(e, "Error connecting to database. Retrying in {delay}s", delay.Seconds));

            _mmrDataStore  = mmrDataStore ?? throw new ArgumentNullException(nameof(mmrDataStore));
            _stoppingToken = CancellationToken.None;
        }