gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 15:18:24 25 4
gpt4 key购买 nike

我正在使用 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. 解雇工作两次。 Quartz 应确保作业不会相互叠加运行。

More Information Here

关于c# - 如何让触发器等待自己结束再次运行 Quartz C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43945120/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com