c# - Quartz.NET 使用新触发器集重新安排作业

标签 c# .net quartz.net job-scheduling

我有一个 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/

相关文章:

c# - 使用 ServerManager 类配置 IIS 身份验证设置

c# - Quartz.net 中的 'DisallowConcurrentExecution' 到底是什么意思

c# - Entity Framework Core 的 Cosmos 提供程序使用 DbContext 类名称创建容器

c# - 在 C++/CLI 中包装非托管 C++ 模板以供 C#/.NET 使用

c# - 是否有可能在构造函数中违反 Liskov 替换原则?

c# - 无法在 Quartz.NET 中使用 AdoJobStore

quartz-scheduler - 通过配置文件和构造函数的混合来配置 Quartz.NET

c# - RabbitMQ C# 验证消息已发送

asp.net - MVC4 上 _layout.cshtml 的@model?

c# - 绕过 Windows 兼容性链接目录