private void LoadSchedulesFromBackupTask() { CheckVirtualMachinesExist(); DeleteCurrentSchedules(); foreach (var vm in backupTask.VirtualMachines) { vm.LoadedSchedules = _schManager.LoadFrom(vm.SchedulesConfigs); } }
public Worker(ILogger <Worker> logger, ISchedulesManager manager, IConfiguration config) { _logger = logger; _manager = manager; _config = config; // Set the event handler _manager.EventOccurred += Schedules_EventOccurred; // creates a schedule, which will fire event every day every 30 seconds from 07:00:00 till 23:00:00 var daily1 = new DailySchedule(DailyIntervalUnit.Second, 30, new Time(7, 0, 0), new Time(23, 0, 0), enabled: true, description: "every day every 30 seconds"); // creates a schedule, which will fire event every day every 2 minutes from 00:00:00 till 23:59:59, // schedule will be created disabled var daily2 = new DailySchedule(DailyIntervalUnit.Minute, 2, null, null, enabled: false, description: "every day every 2 minutes"); // creates a schedule, which will fire event every day at 12:15:00 var daily3 = new DailySchedule(new Time(12, 50, 0)); // creates a schedule, which will fire event on every Monday and Wednesday, // every hour from 00:00:00 till 23:59:59 var weekly1 = new WeeklySchedule(new DayOfWeek[] { DayOfWeek.Monday, DayOfWeek.Wednesday }, DailyIntervalUnit.Hour, 1, null, null); // creates a schedule, which will fire event on 1, 2, 15 day of every month at 14:20:15 var monthly1 = new MonthlySchedule(new int[] { 1, 2, 15 }, new Time("14:20:15")); _manager.AddSchedules(daily1, daily2, daily3, weekly1, monthly1); // Load from IConfiguration, section "SimpleSchedules" (see appsettings.json) _manager.LoadFrom(_config); }