public MonitorCollectorService(HealthCheckMonitorOptions options, HealthMonitorData data, HealthMonitorCallbacks callbacks, IHttpClientFactory clientFactory, ILogger <MonitorCollectorService> logger)
     : base(new HostedTimedOptions {
     InitialDelay = options.InitialEvaluationDelay, Interval = options.EvaluationInterval
 }, logger)
 {
     _data          = data;
     _callbacks     = callbacks;
     _clientFactory = clientFactory;
     _logger        = logger;
 }
        private async Task <HealthMonitorData> RunTest(HealthCheckMonitorOptions options, HealthMonitorCallbacks callbacks = null)
        {
            var data = new HealthMonitorData(options);

            if (callbacks == null)
            {
                callbacks = new HealthMonitorCallbacks(_callbackLogger);
            }


            var service = new MonitorCollectorService(options, data, callbacks, _clientFactory, _collectorLogger);

            using (var cts = new CancellationTokenSource(TimeSpan.FromSeconds(2)))
            {
                await service.StartAsync(cts.Token);

                await Task.Delay(TimeSpan.FromMilliseconds(500));

                await service.StopAsync(cts.Token);
            }

            return(data);
        }
Exemple #3
0
 public MonitorDirectoryService(HealthCheckMonitorOptions options, HealthMonitorData data, ILogger <MonitorDirectoryService> logger)
 {
     _directoryPath = options.HealthChecksDirectory;
     _data          = data;
     _logger        = logger;
 }
 /// <summary>
 /// Creates a new HealthMonitorData
 /// </summary>
 /// <param name="options">The options for the HealthMonitor</param>
 public HealthMonitorData(HealthCheckMonitorOptions options)
 {
     AddUpdate(options.HealthChecks);
 }