我有一个 Quartz 作业,它使用一组触发器进行调度,执行时间为 3 到 5 分钟。但在未来的任何时刻(可能是一周后或几分钟后)我可能需要使用新的触发器集重新安排它。触发器集上会有一些添加或删除。
如何使用新的触发器集重新安排作业?这里的诀窍是,我想确保当时没有工作实例处于事件状态,因此我可以可靠地重新安排我的工作。感谢您的帮助...
最佳答案
我记得,你可以这样做:
List<JobExecutionContext> context = scheduler.GetCurrentlyExecutingJobs()
迭代列表并调用 GetJobInstance()(或类似的方法)以找到为其创建上下文的作业,然后检查它是否是您感兴趣的作业。如果不是,您可以使用相同的触发器重新安排。尝试这样的事情:
Trigger trigger = Global.scheduler.GetTrigger("testTrigger","triggerGroup");
trigger.set();
Global.scheduler.RescheduleJob(trigger.JobName, trigger.JobGroup, trigger);
关于c# - Quartz.NET 使用新触发器集重新安排作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16334411/