您好,登錄后才能下訂單哦!
這篇文章主要講解了“QuartzNet的功能有哪些”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“QuartzNet的功能有哪些”吧!
Quartz.Net其他功能
Quartz以模塊化方式構建,因此要使其運行,需要將幾個組件“拼接”在一起。 幸運的是,有一些助手可以實現這一目標。
在Quartz可以完成其工作之前需要配置的主要組件是:
1)、ThreadPool
2)、JobStore
3)、數據源(如有必要)
4)、調度程序本身
自從引入基于任務的作業以來,線程池已經發生了很大變化。 TODO文檔更多
JobStores 和 DataSrouces 在本教程的第9課中進行了討論。 值得注意的是,所有 JobStores 都實現了 IJobStore 接口 - 如果其中一個捆綁的JobStore不能滿足您的需求,那么您可以創建自己的。
最后,您需要創建Scheduler實例。 需要為Scheduler本身指定一個名稱并交給JobStore和ThreadPool的實例。
1、StdSchedulerFactory
StdSchedulerFactory 是 ISchedulerFactory 接口的實現。 它使用一組屬性(NameValueCollection)來創建和初始化Quartz Scheduler。 這些屬性通常存儲在文件中并從文件中加載,但也可以由程序創建并直接傳遞給工廠。 只需在工廠類實例上調用 getScheduler() 就可以生成調度程序,初始化它(及其ThreadPool,JobStore和DataSources),并返回其公共接口的句柄。
Quartz發行版的“docs / config”目錄中有一些示例配置(包括屬性的描述)。 您可以在Quartz文檔的“參考”部分下的“配置”手冊中找到完整的文檔。
2、DirectSchedulerFactory
DirectSchedulerFactory 是另一個 SchedulerFactory 實現。 對于那些希望以更加程序化的方式創建 Scheduler 實例的人來說,它非常有用。 由于以下原因,通常不鼓勵使用它:(1)它要求用戶更好地理解他們正在做什么,以及(2)它不允許聲明性配置-或者換句話說,您最終硬編碼了調度程序的所有設置。
3、Logging
Quartz.NET 使用 LibLob 庫來滿足其所有日志記錄需求。 Quartz 不會產生很多日志信息——通常只是在初始化期間產生一些信息,然后在 Jobs 執行期間只產生關于嚴重問題的消息。為了“優化”日志設置(比如輸出量和輸出位置),您需要實際配置所選擇的日志框架,因為 LibLog 主要將工作委托給更成熟的日志框架,如log4net、serilog等。
4、高級(企業)功能
集群:集群目前只適用于 AdoJobstore(JobStoreTX)。功能包括負載平衡和作業故障轉移(如果JobDetail的“請求恢復”標志設置為true)。
通過將“quartz.jobStore.clustered”屬性設置為“true”來啟用群集。 集群中的每個實例都應使用相同的quartz屬性副本。 例外情況是使用相同的屬性,具有以下允許的例外:不同的線程池大小,以及“quartz.scheduler.instanceId”屬性的不同值。 集群中的每個節點必須具有唯一的instanceId,通過將“AUTO”作為此屬性的值放置,可以輕松完成(不需要不同的屬性文件)。
永遠不要在不同的機器上運行群集,除非它們的時鐘使用某種形式的時間同步服務(守護進程)進行同步,這些服務定期運行(時鐘必須在彼此的秒內)。 如果您不熟悉如何執行此操作,請訪問http://www.boulder.nist.gov/timefreq/service/its.htm。
永遠不要針對運行任何其他實例的同一組表啟動非群集實例。 您可能會收到嚴重的數據損壞,并且肯定會遇到不正常的行為。
5、Quartz.Net 其他功能
1)、Plug-Ins(插件)
Quartz提供了一個接口(ISchedulerPlugin),用于插入附加功能。
Quartz.Plugins 命名空間中可以找到 Quartz 附帶的以提供各種實用功能的插件。 它們提供的功能包括在調度程序啟動時自動調度作業,記錄作業歷史記錄和觸發事件,以及確保調度程序在虛擬機退出時干凈地關閉。
2)、JobFactory
觸發器觸發時,與其關聯的Job將通過Scheduler上配置的JobFactory實例化。 默認的JobFactory只是激活作業類的新實例。 您可能希望創建自己的JobFactory實現來完成諸如讓應用程序的IoC或DI容器生成/初始化作業實例之類的事情。
3)、‘Factory-Shipped’ Jobs(工廠預裝的一些有用的任務作業)
Quartz還提供了許多實用工具,您可以在應用程序中使用它們來執行諸如發送電子郵件和調用遠程對象之類的操作。 可以在Quartz.Jobs命名空間中找到這些開箱即用的作業。
感謝各位的閱讀,以上就是“QuartzNet的功能有哪些”的內容了,經過本文的學習后,相信大家對QuartzNet的功能有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。