Quartz定時任務和IIS程序池閑置超時時間沖突解決方案


一、問題描述

  Bs項目中用Quartz功能執行一個定時任務(每隔5分鍾執行一個Job),正常情況,Quartz定時任務會5分鍾執行一次,但IIS程序池閑置

超時默認為20分鍾,造成的結果是:定時任務只執行了4次。那么怎么解決程序池閑置超時引進Quartz定時任務停止執行問題?


二、解決方案
方案一:設置IIS默認閑置超時為1740(跟程序池默認回收時間1740)
方案二:IIS服務器規定的時間內,定時向服務器取一次數據

三、方案介紹
1)方案一:設置IIS默認閑置超時為1740(跟程序池默認回收時間1740)
  通過設置程序池--高級設置--模型設計--閑置超時,設置為1740(29小時)

原理:改變IIS程序池閑置超時時間,設置為1740(29分鍾),保證不會出現閑置超時而執行的資源清理
前提:需保證這個網站一天有一個訪問量就不會觸發到iis閑置超時而執行的資源清理


2)方案二:IIS服務器規定的時間內,定時向服務器取一次數據

  那就是保持有一台機器開着,在這個Application下寫一個文件,用JavaScript每隔幾分鍾(小於程序池默認閑置超時時間)就自我刷新一下,

瀏覽器一直開着,這樣就強制讓它處於被訪問的狀態。但這個方法並不穩定

原理:強制讓它處於被訪問的狀態,不會出現閑置導致問題
前提:保證瀏覽器開着,js設置定時方法設置為小於閑置超時時間

PS:

解決方案介紹來自這個網址:http://blog.csdn.net/zhangquanok/article/details/16807603

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM