如何使用Quartz.net为多个服务器实现任务调度程序服务?

时间:2013-04-04 04:50:39

标签: .net wcf web-services quartz.net

我想在WCF服务上使用Quartz.Net实现Task Scheduler,它具有以下要求,

  • 应该是WCF服务。
  • 托管在多个位置的多台服务器上。
  • 只执行一次虽然该调度程序服务在特定时间内在多台服务器上运行。
  • 历史记录可以通过任何类型的数据库进行维护。
  • 可以执行任何类型的工作,如.exe文件,图像文件,特定任务,任何类型的命令,SQL查询等。
  • 我只想尝试在多个服务器上使用石英调度程序,所有服务器都指向同一个数据库。
  • 此外,我的主要动机是故障转移机制,但也要分散负载。

我对Quartz.Net有一点了解,我已经在测试样本上创建了,我还搜索了Quartz.net如何在系统上实际执行,Quartz.net用户记忆等方面的更多细节。

1 个答案:

答案 0 :(得分:3)

除了wcf部分,上述所有问题都可以通过Quartz.Net解决。只需在您需要的所有服务器上安装该服务即可。将它们全部配置为群集并将它们指向同一数据库。这涵盖了您的大部分商品。

如果您想直接与Quartz.Net通信,可以创建一个WCF包装器,因为它只支持开箱即用的远程处理。

您可以编写一个作业监听器来记录作业历史记录。

开箱即用支持运行可执行文件。对于其他类型的工作,您必须创建自己的自定义工作。