Quartz-schedule.net从触发器获取时间表

时间:2015-04-24 15:19:33

标签: c# quartz.net

我有一个持久化到数据库的触发器。我需要能够将时间表呈现给用户,以便他们可以看到或改变它。

如何从TriggerKey获取cron计划

var trigger = TriggerBuilder.Create()
            .WithIdentity("trigger3", "group2")
            .StartNow()
            .WithCronSchedule("0/5 * * * * ?").Build();

一旦构建了上述内容,我该如何重新获得它?

2 个答案:

答案 0 :(得分:2)

假设您已按照here所述安排了作业,您可以像这样检索它的触发器:

var triggerKey = new TriggerKey("trigger3", "group2");
var trigger = scheduler.GetTrigger(triggerKey);

答案 1 :(得分:0)

首先必须将它添加到调度程序中:

            var scheduler = StdSchedulerFactory.GetDefaultScheduler();
            scheduler.Start();
            var job = JobBuilder.Create<ClassType>()
                        .Build();

            var trigger = TriggerBuilder.Create()
                        .WithIdentity("Your ID")
                        .StartNow()
                        .WithSimpleSchedule(simpleSchedule => simpleSchedule.WithRepeatCount(0))
                        .Build();

            scheduler.ScheduleJob(job, trigger);

然后你应该能够获得这样的工作和触发器:

var groups = scheduler.GetJobGroupNames();
var triggers = scheduler.GetTriggerGroupNames();

您可以通过以下方式从计划中删除项目:

scheduler.DeleteJob(JobKey jobKey);