我們有一個託管在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。
由於應用程序池石英的回收沒有按照時間表執行該作業。如果我在應用程序池回收後瀏覽應用程序,則石英將按照時間表執行作業。
任何人都可以在最早的時候幫助我嗎?
感謝您的期待。
感謝隊友。它起作用了。啓用此功能後,調度程序不會中斷任何工作。 –