public MonitorDataExchange(IHealthMonitorRegistry registry, IHealthMonitorExchangeClient exchangeClient, IMonitorableEndpointRegistry monitorableEndpointRegistry, DataExchangeConfig config)
 {
     _config = config;
     _registry = registry;
     _exchangeClient = exchangeClient;
     _monitorableEndpointRegistry = monitorableEndpointRegistry;
     _outgoingQueue = new OutgoingQueue<EndpointHealthUpdate>(_config.OutgoingQueueMaxCapacity);
     _exchangeThread = new Thread(StartExchange) { Name = "Exchange" };
     _exchangeThread.Start();
 }
Exemplo n.º 2
0
 public MonitorDataExchange(IHealthMonitorRegistry registry, IHealthMonitorExchangeClient exchangeClient, IMonitorableEndpointRegistry monitorableEndpointRegistry, DataExchangeConfig config)
 {
     _config         = config;
     _registry       = registry;
     _exchangeClient = exchangeClient;
     _monitorableEndpointRegistry = monitorableEndpointRegistry;
     _outgoingQueue  = new OutgoingQueue <EndpointHealthUpdate>(_config.OutgoingQueueMaxCapacity);
     _exchangeThread = new Thread(StartExchange)
     {
         Name = "Exchange"
     };
     _exchangeThread.Start();
 }
Exemplo n.º 3
0
 private static HealthMonitorSettings LoadSettings(IHealthMonitorExchangeClient exchangeClient)
 {
     int attempts = 0;
     int totalAttempts = 10;
     while (true)
     {
         try
         {
             return exchangeClient.LoadSettingsAsync(CancellationToken.None).Result;
         }
         catch (Exception e)
         {
             _logger.Warn($"Unable to read configuration: {e.Message}");
             if (++attempts == totalAttempts)
                 throw;
             Thread.Sleep(TimeSpan.FromSeconds(10));
         }
     }
 }
Exemplo n.º 4
0
        private static HealthMonitorSettings LoadSettings(IHealthMonitorExchangeClient exchangeClient)
        {
            int attempts      = 0;
            int totalAttempts = 10;

            while (true)
            {
                try
                {
                    return(exchangeClient.LoadSettingsAsync(CancellationToken.None).Result);
                }
                catch (Exception e)
                {
                    _logger.Warn($"Unable to read configuration: {e.Message}");
                    if (++attempts == totalAttempts)
                    {
                        throw;
                    }
                    Thread.Sleep(TimeSpan.FromSeconds(10));
                }
            }
        }