我们有一个托管在IIS 8.0上的Intranet应用程序。Quartz调度程序在应用程序池回收后不执行作业(.Net)
我们有一些网络方法可用,需要在特定时间执行。
因此,我们使用Quartz调度程序来调度执行Web方法的作业。在global.asax的Application_Start事件中,我们编写了代码来启动调度程序。
为了保持调度程序正常运行,应用程序池应始终处于运行模式,因此我们设置了属性startMode =“AlwaysRunning”,并且应启动应用程序,以便我们设置应用程序属性preloadEnabled =“True ”。
我们正在每1740分钟(29小时,默认时间)回收应用程序池。
这里的问题是:
如果我有计划在早上3:00工作。我的应用程序池处于运行状态。
我在计划时间前一天的下午6:00浏览了应用程序。
根据回收时间,我的应用程序池已在2:00 AM和3:00 AM回收,但我的应用程序未被ping通,但我的应用程序池处于运行状态。
当应用程序池被回收时,应用程序池将再次启动(因为属性startMode =“AlwaysRunning”),但是如果该工作进程会不同,则会启动该进程ID。
由于应用程序池石英的回收没有按照时间表执行该作业。如果我在应用程序池回收后浏览应用程序,则石英将按照时间表执行作业。
任何人都可以在最早的时候帮助我吗?
感谢您的期待。
感谢队友。它起作用了。启用此功能后,调度程序不会中断任何工作。 –