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

发布于 2024-09-29 06:35:03 字数 138 浏览 4 评论 0原文

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

what methods are there for a CronTrigger to modify its CronExpression? I've tried to set it in the CronExpressionString but that doesn't seem to update it, and I can't convert my string to a CronExpression to use in the CronExpression method.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

撞了怀 2024-10-06 06:35:03

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

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

You would load the job to a local variable using GetJobDetail().
Then UnscheduleJob()
Finally, you'd create a new CronTrigger and call ScheduleJob().

-- Edit --
It has come to may attention that an easier way is
Create a new trigger (of any type) and call RescheduleJob() using the same trigger name and group.

泪痕残 2024-10-06 06:35:03

实际上没有办法通过 API 修改触发器的 cron 表达式。执行您想要的操作的“正常”方法是使用新的 cron 表达式创建一个新触发器,然后使用新触发器重新安排作业,或者删除并使用新触发器创建作业。

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

There really is no way to modify a trigger's cron expression through the API. The "normal" way to do what you want is to create a new trigger with the new cron expression and then either reschedule the job with the new trigger or delete and create the job with the new trigger.

If you're using a database as your job store, the cron expression is stored in the CRON_EXPRESSION column of the QRTZ_CRON_TRIGGERS table. Changing it directly in the database is probably not the best option but you could give it a try and see what happens.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文