public DynamoDbDataStore(DynamoDbConfiguration configuration, ILogger <DynamoDbDataStore> logger, IRangeFilterer <TimeRange> timeFilterer, TripCounterFactory tripCounterFactory) { _configuration = configuration; _logger = logger; _timeFilterer = timeFilterer; _tripCounterFactory = tripCounterFactory; var credentials = new BasicAWSCredentials(configuration.AccessKey, configuration.SecretKey); _client = new AmazonDynamoDBClient(credentials, RegionEndpoint.GetBySystemName(configuration.RegionSystemName)); _context = new DynamoDBContext(_client); _retryPolicy = Policy .Handle <ProvisionedThroughputExceededException>() .WaitAndRetryForeverAsync(i => TimeSpan.Zero, (Action <Exception, TimeSpan>)OnRetry); Task.Run(async() => { while (true) { var timeRanges = Interlocked.Exchange(ref _timeRangesSavedSinceLastCheck, 0); var dataPoints = Interlocked.Exchange(ref _dataPointsSavedSinceLastCheck, 0); _logger.LogDebug($"{timeRanges} timeRanges {dataPoints} dataPoints"); await Task.Delay(1000); } }); }
public IngestionProcessor(IngestionConfiguration configuration, ILogger <IngestionProcessor> logger, TripCounterFactory tripCounterFactory) { _configuration = configuration; _logger = logger; _tripCounterFactory = tripCounterFactory; }
public SourceSeriesGrain(IModelMapProvider mapProvider, ILogger <SourceSeriesGrain> logger, TripCounterFactory tripCounterFactory) { _mapProvider = mapProvider; _logger = logger; _tripCounterFactory = tripCounterFactory; }