public override void AddToEngine(RFEngineDefinition engine) { var triggerName = RFEnum.FromString(TaskName); var triggerKey = RFSchedulerTriggerKey.Create(engine.KeyDomain, triggerName); engine.AddCatalogUpdateTrigger <RFSchedulerTriggerKey>(k => k.TriggerName.Equals(triggerName), TaskProcess); engine.Schedules.Add(c => new RFSchedulerConfig { Range = RangeFunc(c), Schedules = SchedulesFunc(c), TriggerKey = triggerKey, IsEnabled = c.UserConfig.GetBool(CONFIG_SECTION, TaskName, false, true, "Is Enabled") }); }
public override void AddToEngine(RFEngineDefinition engine) { var triggerName = RFEnum.FromString(TaskName); var triggerKey = RFSchedulerTriggerKey.Create(engine.KeyDomain, triggerName); var scheduler = engine.AddProcess( processName: String.Format("Task {0} Scheduler", TaskName), description: string.Format("Schedules task {0}", TaskName), processor: () => new RFSchedulerProcessor(new RFSchedulerConfig { Range = RangeFunc(), Schedules = SchedulesFunc(), TriggerKey = triggerKey })); engine.AddIntervalTrigger(scheduler); engine.AddCatalogUpdateTrigger <RFSchedulerTriggerKey>(k => k.TriggerName.Equals(triggerName), TaskProcess); }