我正在使用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#做的方法。
答案 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);
}