如何停止或暂停Quartz任务

6

我已经执行了以下两个任务(MyJob1MyJob2):

public async Task < ActionResult > ScheduleJob() {
  await _jobManager.ScheduleAsync < MyJob1 > (
    job => {
      job.WithIdentity("Job1Identity", "MyGroup")
        .WithDescription("This is job 1");
    },
    trigger => {
      trigger.StartNow()
        .WithSimpleSchedule(schedule => {
          schedule.RepeatForever()
            .WithIntervalInSeconds(5)
            .Build();
        });
    });

  await _jobManager.ScheduleAsync < MyJob2 > (
    job => {
      job.WithIdentity("Job2Identity", "MyGroup")
        .WithDescription("This is job 2");
    },
    trigger => {
      trigger.StartNow()
        .WithSimpleSchedule(schedule => {
          schedule.RepeatForever()
            .WithIntervalInSeconds(5)
            .Build();
        });
    });

  return Content("OK, scheduled!");
}

--> 我尝试使用 _jobManager.Stop() 但它会停止所有的工作,那么如何只停止或暂停 MyJob2

1个回答

9

使用Scheduler.PauseJob方法,请按以下方式操作:

var scheduler = StdSchedulerFactory.GetDefaultScheduler();
scheduler.PauseJob(new JobKey("Job2Identity", "MyGroup"));

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接