Quartz.net Jobs on Load balancer

时间:2013-03-27 12:01:48

标签: c# scheduled-tasks load-balancing quartz.net

我有一个quartz.net调度程序实现(和作业)。调度程序位于我的网站/应用程序本身内,并以指定的时间间隔运行作业异步。

在本地和测试方面都非常好。只要我将此代码移动到实时(其中有多个负载均衡器运行我的网站实例),作业就会像负载均衡器一样多次启动。

我该如何处理?我如何确保只有一个调度程序在我的所有负载均衡器上运行作业。

或者有一种方法可以让我找出上一个工作被解雇的时间(在任何负载均衡器上!)

谢谢

1 个答案:

答案 0 :(得分:0)

如果您将数据库用作作业存储,请将所有调度程序指向同一数据库并将其设置为群集,然后您的作业将在服务器之间共享,并且您不会多次触发它们。

或者,您也可以将您的计划程序移到其自己的Windows服务中,然后在您的Web服务器上共享它。