簡體   English   中英

Quartz.net作業調度

[英]Quartz.net job scheduling

Quartz.net是如何在后台運行的。 假設我已經創建了一個明年會被觸發的工作。 那么在背景中發生了一年的事情。 是否有一個持續運行一年的進程或線程。它是否在后台實現計時器?

您需要啟動Quartz調度程序。 只要調度程序正在運行,Quartz就會跟蹤計划並根據計划啟動作業。 但由於Quartz是在應用程序中托管的庫,因此您必須自己啟動Quartz調度程序。

在沒有始終處於活動狀態的應用程序(如網站)的情況下,您必須找到一些方法讓Quartz調度程序獨立運行(例如,在專用於運行作業的調度程序服務中)。 我在ASP.Net項目中找到了一些使用Quartz.net的參考資料,但我沒有在網站中運行Quartz的個人經驗。 我不知道Quartz會如何響應IIS關閉或重用您的站點運行的應用程序池。但是如果您的工作可以處理中止,那么它可能是一個可行的選擇。 您必須在Global類的Application_Start事件中啟動調度Application_Start

無論您如何運行Quartz,您都希望使用非易失性的作業存儲。 Quartz可以將預定作業存儲在內存中,但您必須在每次應用程序啟動后重新安排所有作業。 因此,強烈建議使用另一個可以在應用程序重新啟動之間保留作業的作業存儲。

Quartz.net 快速入門教程提供了一些代碼,向您展示如何在您的應用程序中使用Quartz。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM