我有多个触发器的作业。在某些情况下,触发器将重叠。当Quartz.NET确定需要触发重叠的触发器时,会为每个触发器执行IJob.Execute(IJobExecutionContext context)
方法。
有没有办法防止这种重叠?
提前致谢。
答案 0 :(得分:1)
我没有测试过这个,但我会给它一个机会:
[DisallowConcurrentExecution]
public class Job : IJob
{
public void Execute(IJobExecutionContext context)
{
bool wasExecutedAt = WasExecutedAt(context.ScheduledFireTimeUtc);
}
private bool WasExecutedAt(DateTimeOffset? fireTime)
{
// Check and maintain the state
}
}