第十三节: 总结Quartz.Net几种部署模式(IISExe服务部署借助TopSelf服务类)

Posted yaopengfei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第十三节: 总结Quartz.Net几种部署模式(IISExe服务部署借助TopSelf服务类)相关的知识,希望对你有一定的参考价值。

一. IIS部署

  比如在MVC框架中集成了Quartz.Net定时调度,此时该调度系统会随着MVC框架被挂在IIS下,IIS会进程回收,所以大部分开发都会遇到Quartz挂在IIS下一段时间不好用。

  补充:IIS可以设置定时自动回收,默认回收是1740分钟,也就是29小时。IIS自动回收相当于服务器IIS重启,应用程序池内存清空,所有数据被清除,相当于IIS重启,在度量快速开发平台服务器端,为了减小数据库负担,内存中暂存了很多信息,不适合频繁的回收,因为回收会造成服务器端所有存在内存中的数据丢失,如果没有及时保存到数据库中,可能导致程序出现问题。而如果系统使用高峰时期,并不适合回收,回收可能导致几十秒IIS无响应,对于正在工作的人员来说,是一种很不好的体验,会以为是网络或者掉线等问题。

  解决方案:关闭该项目在IIS上对应的进程池的回收机制。

  如何关闭进程池的回收机制:选中IIS中部署的项目对应的进程池,点击【高级设置】,里面有5个核心参数:

    ① 发生配置更改时禁止回收:如果为True,应用程序池在发生配置更改时将不会回收。

    ② 固定时间间隔(分钟):超过设置的时间后,应用程序池回收,设置为:0 意味着应用程序池不回收。系统默认设置的时间是1740(29小时)。

    ③ 禁用重叠回收:如果为true,将发生应用程序池回收,以便在创建另一个工作进程之前退出现有工作进程

    ④ 请求限制:应用程序池在回收之前可以处理的最大请求数。如果值为0,则表示应用程序池可以处理的请求数没有限制。

    ⑤ 生成回收事件日志条目:每发生一次指定的回收事件时便产生一个事件日志条目。

技术分享图片

    总结:即使可以将IIS进程池回收关掉,仍然不建议把Quartz挂到IIS下,长时间不回收,会存在内存溢出的问题。

 

二. 常用语法糖

 

 

 

二. 常用语法糖

 

 

二. 常用语法糖

 

 

 

技术分享图片

 

以上是关于第十三节: 总结Quartz.Net几种部署模式(IISExe服务部署借助TopSelf服务类)的主要内容,如果未能解决你的问题,请参考以下文章

Python基础学习第十三节 异常操作总结

第十三节20181207

第十三节: EF的三种模式 之 来自数据库的CodeFirst模式

C#第十三节课

ES6 第十三节 Set和WeakSet数据结构

centos mysql 实战 第十三节课