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();
            }
        }
Esempio n. 2
0
 void StartDataGathering() =>
 Task.Factory.StartNew(async() =>
 {
     while (true)
     {
         var processDatas = ProcessReceiver.Get().ToArray();
         _storage.Set(processDatas);
         await Task.Delay(TimeSpan.FromSeconds(_applicationSettings.Value.IntervalInSeconds));
     }
 });