如何停止或暂停 Quartz 作业
How to stop or pause Quartz job
我已经执行了 2 个作业(MyJob1
和 MyJob2
),如下所示:
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
?
像这样使用Scheduler.PauseJob
:
var scheduler = StdSchedulerFactory.GetDefaultScheduler();
scheduler.PauseJob(new JobKey("Job2Identity", "MyGroup"));
我已经执行了 2 个作业(MyJob1
和 MyJob2
),如下所示:
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
?
像这样使用Scheduler.PauseJob
:
var scheduler = StdSchedulerFactory.GetDefaultScheduler();
scheduler.PauseJob(new JobKey("Job2Identity", "MyGroup"));