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); }
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); }