Ish*_*iaq 9 c# job-scheduling quartz.net
我有一个Quartz.net Job,其定义如下.
[PersistJobDataAfterExecution]
[DisallowConcurrentExecution]
public class AdItemsJob : IJob, IInterruptableJob
{
public void Execute(IJobExecutionContext context)
{
// Job execution logic,
}
}
Run Code Online (Sandbox Code Playgroud)
因为我用DisallowConcurrentExecution属性装饰了Job .
我所知道的这个属性,我们不能同时运行同一个作业的多个实例.多个实例的含义是什么? 具有不同密钥
的两个作业是否AddItemsJob被称为相同实例或不同实例.
具有不同密钥的两个作业是否可以同时执行.
Mar*_*hma 17
作业实例是具有唯一键的作业.因此,具有AddItemsJob 类型的作业可以具有两个具有键AddItemsJob.Admin和AddiItemsJobs.Legacy的实例.并发保护来自每个作业密钥 - 如果使用重叠触发器定义上述两个作业,则它们可以同时运行.
即使有多个触发器具有与之关联的重叠调度,在单个密钥后面定义的单个作业也不会同时运行.