2010-03-23 116 views
0

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

有没有人有石英的经验,或可以建议如何防止工作多次发射?

感谢,

回答

0

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

我们的方法有点不同,因为在我们切换到Quartz之前,我们有一个本土解决方案。我们的工作利用数据库表来存储cron触发器和其他作业信息,然后“锁定”作业条目,以便其他服务器不能执行它。这使得作业不会在服务器上多次运行,并且迄今为止相当有效。

希望有所帮助。