我想将石英调度添加到 ASP.NET 应用程序。
它将用于发送排队的电子邮件。
将quartz.net 作为Windows 服务与嵌入式运行的优缺点是什么。
我主要关心的是嵌入式模式下的 Quartz.NET 如何处理 IIS 中可变数量的工作进程。
我想将石英调度添加到 ASP.NET 应用程序。
它将用于发送排队的电子邮件。
将quartz.net 作为Windows 服务与嵌入式运行的优缺点是什么。
我主要关心的是嵌入式模式下的 Quartz.NET 如何处理 IIS 中可变数量的工作进程。
在决定是否应该运行嵌入式时,您可以考虑以下几点:
如果您打算仅从托管应用程序中创建作业,则运行嵌入式。否则,作为服务运行。
如果您的作业可能需要与 Web 应用程序具有的权限不同的权限,请作为服务运行。
如果您的作业是长时间运行的作业,或者使用大量内存的作业,请作为服务运行。
如果您需要在集群环境中运行作业以获得性能、可伸缩性或容错性,请作为服务运行。
从上面的项目中,您可以推断出我的偏好是将其作为服务运行。这是因为如果您要经历设置作业调度程序的麻烦,这意味着您有需要按计划运行的作业或长时间运行的作业。对于此类工作,服务通常是更好的选择。
Quartz.NET 可以在每个应用程序的基础上进行实例化(网络场配置要求调度程序的数量)。如果您的作业备份在数据库中,并且 Quartz.NET 配置为集群模式(并且时钟自然同步),您可以安全地运行多个调度程序。
主要关注的是 IIS 7.5 之前的应用程序池处理。如果没有持续检查,您的应用程序工作人员可能会被回收,并且您的调度程序将关闭,直到有人发出 Web 请求以再次启动应用程序池。IIS 7.5 具有保持应用程序池始终运行的新功能。
否则两个模型之间应该不会有太大的区别。