1

我有多个Triggers的Jobs。在某些情况下,触发器会重叠。当 Quartz.NET 确定需要触发重叠的 Trigger 时,会针对每个 Trigger 执行该方法。IJob.Execute(IJobExecutionContext context)

有没有办法防止这种重叠?

提前致谢。

4

1 回答 1

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
    }
}
于 2017-11-21T17:21:46.760 回答