我们有一个使用QUARTZ来安排和执行作业的Web应用程序。生产设置如下:负载均衡器后面的两台服务器,QUARTZ配置为群集,两台服务器都可以调度和执行作业。现在我们需要添加第三个专用于作业执行的服务器。我们将其称为" Jobs Server"。两台前端服务器不会执行任何作业。但我们需要它们能够安排作业(来自应用程序UI)。 QUARTZ在每台服务器上的正确配置是什么才能启用先前的设置?我们需要做任何自定义代码来实现这个目标吗?
答案 0 :(得分:0)
不要(自动)在AS1(应用程序服务器1)和AS2上启动Quartz调度程序,并仅在JS(作业服务器)上启动它。然后使用Quartz远程API(JMX或RMI)之一在JS上远程调度/管理您的作业。
或者,您可以(自动)在AS1和AS2上启动Quartz调度程序,但在启动后立即暂停它们,例如来自schedulerStarted回调方法。
为安全起见,AS1和AS2不会在它们启动和暂停之间执行任何作业,您还应将其Quartz调度程序的工作线程池大小设置为0。