在Quartz.NET中以编程方式编辑作业CronExpression - 有哪些方法?

时间:2010-10-23 21:04:00

标签: c# quartz-scheduler quartz.net

CronTrigger有哪些方法可以修改其CronExpression?我试图在CronExpressionString中设置它,但似乎没有更新它,我无法将我的字符串转换为CronExpression以在CronExpression方法中使用。

2 个答案:

答案 0 :(得分:1)

您可以使用GetJobDetail()将作业加载到局部变量 然后UnscheduleJob()
最后,您将创建一个新的CronTrigger并调用ScheduleJob()。

- 编辑 -
人们可能会注意到一种更简单的方法 创建一个新的触发器(任何类型)并使用相同的触发器名称和组调用RescheduleJob()。

答案 1 :(得分:0)

实际上没有办法通过API修改触发器的cron表达式。执行所需操作的“常规”方法是使用新的cron表达式创建新触发器,然后使用新触发器重新计划作业或删除并使用新触发器创建作业。

如果您使用数据库作为工作存储,则cron表达式存储在QRTZ_CRON_TRIGGERS表的CRON_EXPRESSION列中。直接在数据库中更改它可能不是最佳选择,但您可以尝试一下,看看会发生什么。