如何让触发器等待自己再次结束 运行 Quartz C#

How to make a trigger wait itself end to run again Quartz C#

我正在使用 Quartz 2.5.0.0

我有以下代码 运行 我想要的任何工作。 我所有的工作都放在一个文件夹中,因为我只是把它放在那里。

var scheduler = StdSchedulerFactory.GetDefaultScheduler();
scheduler.Start();

var t = new ImportingLib.Importer();
t.DoImport();

foreach (var component in t.CallAllComponents())
{   
    var job = JobBuilder.Create(component)
        .WithIdentity(component.Name)
        .Build();

    var trigger = TriggerBuilder.Create()
   .WithIdentity($"{component.Name}Trigger")
   .StartNow()
   .WithSimpleSchedule(x => x
       .WithIntervalInSeconds(10)
       .RepeatForever())
   .ForJob(component.Name)
   .Build();
    scheduler.ScheduleJob(job, trigger);
}

我想每 10 秒做一次这个工作 运行,但我必须等待它自己结束,在此之后,再次启动同一个工作。 一种知道胎面何时结束应该如何工作的方法,但我没有找到如何制作它。 知道我怎样才能让它发挥作用吗?

我有一段时间没有使用 Quartz.NET,但试试这个:

  1. 用属性 [DisallowConcurrentExecution]
  2. 装饰你的工作 class
  3. 解雇工作两次。 Quartz 应确保作业不会 运行 彼此重叠。

More Information Here