我想经营一项需要很长时间才能完成的工作。但是,15分钟后,触发器在作业完成之前被重新触发。我想这是一个默认的故障安全处理失败的工作。如何将此超时时间增加到30分钟?
这是我的作业调度程序代码:
var trigger = TriggerBuilder.Create()
.WithIdentity(triggerName, triggerGroup)
.WithSchedule(CronScheduleBuilder
.CronSchedule(cronExpression).InTimeZone(TimeZoneInfo.Utc))
.Build();
var scheduleRequestJob = JobBuilder.Create<T>()
.WithIdentity(taskName, taskGroup)
.Build();
_scheduler.ScheduleJob(scheduleRequestJob, trigger);
答案 0 :(得分:1)
Quartz没有Fail安全时间。石英会重新找回你的工作只有两种可能性。
JobExecutionException
- (Api),这会立即重新安排您的工作。要防止作业同时运行多次,请将DisallowConcurrentExecutionAttribute
- (Api)添加到您的班级。
[DisallowConcurrentExecution]
public class MyJob: IJob
{
}
这可以确保您想要的行为。