4

有几个问题要问真正的石英大师!

我是 Quartz.net 初学者,希望在我被烧毁之前得到一些建议:

1)我安排了一堆工作/触发器在未来的特定时间开始。完成这些任务后,我不再使用数据库中的作业/触发器信息。我需要做些什么来避免 Quartz 事件的大量数据库堆积,还是它们会照顾好自己并自动被删除?

2)我的各种任务周期性地重复。但有时,当我运行实际作业时,我意识到我不想再继续运行定期事件,直到作业到期。如何从正在执行的作业中停止所有未来的触发器?

3)有没有办法转储所有计划任务。有时像“scheduler.DumpAll() ;-)”?

提前致谢!

4

2 回答 2

4
  1. 请参阅 LeftyX 的回答(以及我的后续评论):在正常情况下,当触发器没有更多的触发时间时,它会被删除,而当一个作业没有更多的触发器时,它会被删除

  2. 您可以使用 scheduler.unschduleJob()、scheduler.deleteJob()、scheduler.pauseJob()、scheduler.pauseTrigger() - 取决于您实际想要的具体行为。

  3. 没有。

于 2011-03-15T14:46:39.740 回答
1

也许我迟到了;-) 但我最近才开始使用 Quartz.net。文件说:

Durable - if a job is non-durable, it is automatically deleted from the 
scheduler once there are no longer any active triggers associated with it.

所以你可以为你的工作细节定义 Durable = false ,它应该在过期时被删除。

于 2011-03-15T10:34:54.487 回答