public async Task Close() { if (ProcessReceiver != null) { logger.LogDebug($"Closing EventHub Receiver"); await ProcessReceiver.CloseAsync(); } if (ResponseReceiver != null) { logger.LogDebug($"Closing Response Receiver"); await ResponseReceiver.CloseAsync(); } logger.LogDebug($"Closing EventHub Process Clients"); await Task.WhenAll(_eventHubClients.Values.Select(s => s.CloseAsync()).ToList()); if (_doorbellClient != null) { logger.LogDebug($"Closing Eventhub Doorbell Client {_doorbellClient.ClientId}"); await _doorbellClient.CloseAsync(); } if (_responseClient != null) { logger.LogDebug($"Closing Eventhub Response Client {_responseClient.ClientId}"); await _responseClient.CloseAsync(); } }
void StartDataGathering() => Task.Factory.StartNew(async() => { while (true) { var processDatas = ProcessReceiver.Get().ToArray(); _storage.Set(processDatas); await Task.Delay(TimeSpan.FromSeconds(_applicationSettings.Value.IntervalInSeconds)); } });