在石英中没有安排工作

时间:2012-09-18 13:30:15

标签: c# quartz-scheduler

我正在使用Quartz来安排我的c#.net应用程序中的工作。我将所有数据存储在数据库中。我的代码是:

ISchedulerFactory schedFact = new StdSchedulerFactory(properties);
        _scheduler = schedFact.GetScheduler();
        _scheduler.Start();

       job = JobBuilder.Create<JobTask>()
             .WithIdentity("job1", "group1")
        .Build();

          trigger = TriggerBuilder.Create()
            .WithIdentity("trigger1", "group1")
            .WithSchedule(
        CronScheduleBuilder.CronSchedule("0 0/5 * * * ?"))
         .Build();
         _scheduler.ScheduleJob(job, trigger);

现在我想提供用户功能,以便用户可以禁用(取消预定)作业。我看过石英教程,但我找不到用c#做的方法。

2 个答案:

答案 0 :(得分:2)

您可以在 IScheduler

中调用以下方法
    //
    // Summary:
    //     Remove the indicated Quartz.Trigger from the scheduler.
    bool UnscheduleJob(string triggerName, string groupName);

答案 1 :(得分:1)

您的Job类可以实现IInterruptableJob接口并实现

public void Interrupt()
{
    JobKey jobKey = new JobKey(JobName, MyService.GroupName);
    Scheduler.Interrupt(jobKey);
}
相关问题