private static StorageScheduleMonitor CreateScheduleMonitor(string hostId = null) { var config = new ConfigurationBuilder() .AddEnvironmentVariables() .Build(); var lockContainerManager = new DistributedLockManagerContainerProvider(); ILoggerFactory loggerFactory = new LoggerFactory(); loggerFactory.AddProvider(new TestLoggerProvider()); return(new StorageScheduleMonitor(lockContainerManager, new TestIdProvider(hostId), config, loggerFactory)); }
/// <summary> /// Constructs a new instance. /// </summary> /// <param name="lockContainerProvider"></param> /// <param name="hostIdProvider"></param> /// <param name="configuration"></param> /// <param name="loggerFactory"></param> public StorageScheduleMonitor(DistributedLockManagerContainerProvider lockContainerProvider, IHostIdProvider hostIdProvider, IConfiguration configuration, ILoggerFactory loggerFactory) { _lockContainerProvider = lockContainerProvider ?? throw new ArgumentNullException(nameof(lockContainerProvider)); _configuration = configuration ?? throw new ArgumentNullException(nameof(configuration)); _hostIdProvider = hostIdProvider ?? throw new ArgumentNullException(nameof(hostIdProvider)); _logger = loggerFactory.CreateLogger(LogCategories.CreateTriggerCategory("Timer")); JsonSerializerSettings settings = new JsonSerializerSettings { DateFormatHandling = DateFormatHandling.IsoDateFormat }; _serializer = JsonSerializer.Create(settings); }