Quartz.NET 3.0 正式发布
Quartz.NET是一個強大、開源、輕量的作業調度框架,你能夠用它來為執行一個作業而創建簡單的或復雜的作業調度。它有很多特征,如:數據庫支持,集群,插件,支持cron-like表達式等等。在2017年的最后一天Quartz.NET 3.0發布,正式支持了.NET Core 和async/await。這是一個大版本,有眾多新特性和大的功能,這是Quartz.NET 有史以來最大的、最值得興奮的一個版本。
官網:http://www.quartz-scheduler.net/
源碼:https://github.com/quartznet/quartznet
示例:https://www.quartz-scheduler.net/documentation/quartz-3.x/quick-start.html?
整個版本相對于2.0版本進行了大量的修改,正式支持了.NET Core 和async/await:
支持 async/await 基于任務的作業,內部以async/await工作
支持.NET Core / netstandard 2.0和.NET Framework 4.5.2及更高版本
通過提供程序名稱SQLite-Microsoft支持Microsoft.Data.Sqlite,舊的提供程序SQLite也仍然有效,還可以用
增加了對SQL Server內存優化表的初步支持和Quartz.Impl.AdoJobStore.UpdateLockRowSemaphoreMOT
從依賴關系中刪除Common.Logging
刪除C5 Collections,使用.NET框架內置的Collections
在插件啟動時添加對作業調度XML文件的驗證
在TimeZoneUtil中添加對額外自定義時區解析器功能的支持
3.0 在API上也做了重大的修改,自然就有了兼容性等問題。我們現在來看下都有哪些重大的修改:?
作業和插件分離到一個單獨的程序集/ NuGet包里 Quartz.Jobs和Quartz.Plugins
ADO.NET提供程序名稱已經簡化,提供程序名稱不帶版本,例如SqlServer-20 => SqlServer
API方法已經被重新定義,主要使用IReadOnlyCollection,這隱藏了兩個HashSets和List
LibLog已經隱藏到內部(ILog等),就像它本來打算的那樣
SimpleThreadPool 消失了,用系統的線程池取代了
調度程序方法已經改為基于Task,記得要await 它們
IJob接口現在返回一個Task
一些IList屬性已經更改為IReadOnlyList ,以正確反映意圖
SQL Server CE支持已被刪除
DailyCalendar現在使用日期時間排除日期,并具有ISet接口來訪問它們
IObjectSerializer有新的方法,必須實現 void Initialize()
IInterruptableJob取消了上下文的CancellationToken
已知的問題
Windows和Linux之間的時區id有問題,它們在同一個區域使用不同的ID
.NET Core的沒有Remoting 支持
這次的版本變化很大,如果你是老用戶,大家要認真看下遷移指南: https://www.quartz-scheduler.net/documentation/quartz-3.x/migration-guide.html
原文地址:http://www.cnblogs.com/shanyou/p/8269641.html
.NET社區新聞,深度好文,歡迎訪問公眾號文章匯總 http://www.csharpkit.com
總結
以上是生活随笔為你收集整理的Quartz.NET 3.0 正式发布的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: .Net 如何模拟会话级别的信号量,对h
- 下一篇: 入门干货之Electron的.NET实现