public SpiderCheckManagerService ( SpiderCheckSettings settings, ISpiderRegularCheckService regularCheckService, IGlobalCheckInfoService globalCheckInfoService, ILogFactory logFactory ) { _dailyCheckTimeUtc = settings.DailyCheckTimeUtc; _globalCheckInfoService = globalCheckInfoService; _log = logFactory.CreateLog(this); if (_dailyCheckTimeUtc < TimeSpan.FromHours(0) || TimeSpan.FromHours(24) <= _dailyCheckTimeUtc) { throw new ArgumentException( $"Incorrect time of day at {nameof(settings)}.{nameof(settings.DailyCheckTimeUtc)}", nameof(settings)); } _regularCheckRepeatableTask = new RepeatableTask( regularCheckService.PerformRegularCheckAsync, settings.RegularCheckDurationToWarn, async ex => _log.Critical("Regular check", ex), async startTime => _log.Warning("Regular check", $"Regular check lasts more then {settings.RegularCheckDurationToWarn}. It starts at {startTime}") ); }
public SpiderCheckPeriodicalHandler ( ISpiderCheckManagerService spiderCheckManagerService, SpiderCheckSettings settings, ILogFactory logFactory ) : base(settings.PeriodicalHandlerTimerDelay, logFactory) { _spiderCheckManagerService = spiderCheckManagerService; }