我在asp.net應用程序中配置了quartz.net,並且我的工作設置爲每天凌晨1點運行。如果我更改job-config.xml文件以使作業在2分鐘內運行,則更改將自動啓動而不重新啓動應用程序池,並且作業被觸發。但是,如果我恢復變更以讓工作再次在凌晨1點起火,那麼它似乎不會起火。我明顯的原因是應用程序池或IIS已重新啓動,這將導致我的asp.net應用程序關閉(實際上關閉quartz.net,因爲它是同一個asp的重要組成部分。 net進程),但爲了測試quartz.net是否仍在運行,沒有任何iisreset
或應用程序池回收,我再次更改job-config.xml文件以在2分鐘內再次啓動並運行作業,因此它不會運行,似乎是應用程序池回收或IIS重置發生的情況 - 我不明白。Quartz.NET作業配置爲每天運行一次,第一天工作但未能在隨後的日子裏觸發
我想保持在我的asp.net應用程序下運行的工作,而不必創建一個額外的Windows服務,所以任何幫助將不勝感激。以下是我的quartz.net配置文件的一個片段。
<job>
<job-detail>
<name>xjob</name>
<group>MyJobs</group>
<description>blah blah</description>
<job-type>yyy.xxx,yyy</job-type>
<volatile>false</volatile>
<durable>true</durable>
<recover>false</recover>
</job-detail>
<trigger>
<cron>
<name>xJobTrigger</name>
<group>MyJobs</group>
<description>blah blah</description>
<job-name>xJob</job-name>
<job-group>MyJobs</job-group>
<cron-expression>0 0 1 * * ?</cron-expression>
</cron>
</trigger>
謝謝
感謝您的回覆 - 非常感謝。如果這個過程被回收,那麼爲什麼當我在2分鐘內改變了運行特定工作的時間時,這個工作就不需要向站點發出請求或啓動任何東西?這是一致的。我會考察ADO商店 - 我沒有意識到RAM商店就是這種情況。謝謝。 – CraigM
沒有任何細節,我猜測當你重新安排工作並且保持2分鐘時,這個過程已經開始。你可以通過安排工作24小時後運行來測試這一點。如果IIS回收的時間間隔比作業延遲時間短,則永遠不會運行。 – jvilalta