接上篇文章,Quartz.Net(2)——NetCore3.1整合Quartz.Net ,需要将其部署到IIS服务器上去让后台Job定时运行。引起注意的是:在任务结束后的任务监听器中的邮件并没有发出,这意味着任务实例并没有被成功调度。
经多方查证,可知IIS服务器默认设置会自动回收应用程序池,这意味着将释放内存,清除所有的资源。由于Job实例是由调度器调度运行的,当资源被回收后,调度器关闭后不会再自动打开,因此定时Job无法被调度运行。为了解决这个问题,需要对IIS服务器进行相关的配置。
- 1 开启应用程序池启动模式(AlwaysRunning):保证应用程序池在第一次创建或者被回收后,能自动再次重启运行。
- 2 开启网站程序预加载(true):保证程序池在启动过后,ASP.NET 应用程序能自动加载。
值得注意的是, I I S 预加载的功能默认是没有安装的,所以为了配置预加载的功能需要先安装这个功能。 \textcolor{red}{值得注意的是,IIS预加载的功能默认是没有安装的,所以为了配置预加载的功能需要先安装这个功能。} 值得注意的是,