Quartz作业多次触发

时间:2010-03-23 04:25:50

标签: scheduled-tasks scheduling quartz-scheduler

我有一个构建块,它设置一个Quartz作业,每天早上发送电子邮件。这项工作每天早上三次而不是一次。我们有一个托管的Blackboard实例,我被告知在三个虚拟服务器上运行。我猜这是导致问题的原因,因为构建块以前在单个服务器安装上工作正常。

有没有人有石英经验,或者可以建议一个人如何阻止这项工作多次开火?

谢谢,

2 个答案:

答案 0 :(得分:0)

您没有详细描述如何实例化和启动Quartz实例,但请注意,如果同时针对同一个作业存储数据库运行多个Quartz实例,将导致未定义的行为,除非您启用群集(请参阅http://www.quartz-scheduler.org/docs/configuration/ConfigJDBCJobStoreClustering.html)。

答案 1 :(得分:0)

我想我对此有点迟,但我们的应用程序也有类似的情况。我们有4台运行作业的服务器,其中一些可以同时在多台服务器上运行,有些只能运行一次。正如Will的回答所说,您可以查看Quartz的聚类功能。

我们的方法有点不同,因为我们在切换到Quartz之前已经有了一个自行开发的解决方案。我们的作业使用存储cron触发器和其他作业信息的数据库表,然后“锁定”作业的条目,以便其他任何服务器都不能执行它。这可以防止作业在服务器上多次运行,并且到目前为止一直相当有效。

希望有所帮助。