【发布时间】:2011-08-29 08:39:37
【问题描述】:
CronTrigger 有哪些方法可以修改其 CronExpression?我尝试在 CronExpressionString 中设置它,但这似乎并没有更新它,而且我无法将我的字符串转换为 CronExpression 以在 CronExpression 方法中使用。
【问题讨论】:
标签: c# quartz-scheduler quartz.net
CronTrigger 有哪些方法可以修改其 CronExpression?我尝试在 CronExpressionString 中设置它,但这似乎并没有更新它,而且我无法将我的字符串转换为 CronExpression 以在 CronExpression 方法中使用。
【问题讨论】:
标签: c# quartz-scheduler quartz.net
您可以使用 GetJobDetail() 将作业加载到局部变量。
然后 UnscheduleJob()
最后,您将创建一个新的 CronTrigger 并调用 ScheduleJob()。
-- 编辑--
可能会注意到一种更简单的方法是
创建一个新的触发器(任何类型)并使用相同的触发器名称和组调用 RescheduleJob()。
【讨论】:
确实没有办法通过 API 修改触发器的 cron 表达式。执行所需操作的“正常”方法是使用新的 cron 表达式创建一个新触发器,然后使用新触发器重新安排作业或删除并使用新触发器创建作业。
如果您使用数据库作为作业存储,则 cron 表达式存储在 QRTZ_CRON_TRIGGERS 表的 CRON_EXPRESSION 列中。直接在数据库中更改它可能不是最好的选择,但您可以尝试一下,看看会发生什么。
【讨论】: