2010-05-20 60 views
15

缺点我想石英调度添加到ASP.NET应用程序。优点和运行Quartz.NET嵌入或作为Windows服务

它将被用来发送排队电子邮件。

运行quartz.net作为windows service vs embedded的优点和缺点是什么?

我主要关心的是嵌入模式下的Quartz.NET如何在IIS中处理可变数量的工作进程。

回答

14

下面是当你决定你是否应该运行嵌入或不是有些东西你可以考虑:

  1. 如果你打算从托管应用程序中只创造就业机会,然后运行嵌入式。否则,作为服务运行。

  2. 如果您的工作可能需要与Web应用程序的权限不同的权限,请作为服务运行。

  3. 如果您的工作是长时间运行的作业或使用大量内存的作业,请作为服务运行。

  4. 如果您需要在集群环境中运行作业以提高性能,可伸缩性或容错能力,请作为服务运行。

从你上面的物品可以推断,我的选择是运行它作为一项服务。这是因为如果你是要去完成设置作业调度程序的麻烦,这意味着你需要一个时间表,或长时间运行的作业运行作业。对于这类工作,服务通常是更好的选择。

13

Quartz.NET可以基于每个应用程序进行实例化(Web场配置授权调度程序的数量)。您可以安全地运行多个调度,如果你有一个数据库支持你的工作,你有Quartz.NET在集群模式下配置(和时钟同步自然)。

主要关注的是应用程序池IIS 7.5前处理。如果没有经常检查,您的应用程序工作人员可能会被回收,并且您的调度程序将停止运行,直到有人发出Web请求再次启动应用程序池。 IIS 7.5具有使应用程序池始终运行的新功能。

否则不应该有两个模型之间有很大的区别。