我有多个Triggers的Jobs。在某些情况下,触发器会重叠。当 Quartz.NET 确定需要触发重叠的 Trigger 时,会针对每个 Trigger 执行该方法。IJob.Execute(IJobExecutionContext context)
有没有办法防止这种重叠?
提前致谢。
我有多个Triggers的Jobs。在某些情况下,触发器会重叠。当 Quartz.NET 确定需要触发重叠的 Trigger 时,会针对每个 Trigger 执行该方法。IJob.Execute(IJobExecutionContext context)
有没有办法防止这种重叠?
提前致谢。
我没有对此进行测试,但我会给它一个机会:
[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
}
}