3

我正在使用 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# 中完成它的方法。

4

2 回答 2

2

您可以在IScheduler中调用以下方法

    //
    // Summary:
    //     Remove the indicated Quartz.Trigger from the scheduler.
    bool UnscheduleJob(string triggerName, string groupName);
于 2012-09-18T14:42:40.970 回答
1

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

public void Interrupt()
{
    JobKey jobKey = new JobKey(JobName, MyService.GroupName);
    Scheduler.Interrupt(jobKey);
}
于 2014-10-14T20:44:14.813 回答