Quartz.NET Is a powerful , Open Source , Lightweight job scheduling framework , You can use it to create simple or complex job schedules for executing a job . It has many characteristics , as : Database support , colony , plug-in unit , support cron-like Expressions, etc . stay 2017 The last day of Quartz.NET
3.0 release , Officially supported .NET Core and async/await. This is a big version , There are many new features and functions

Official website :http://www.quartz-scheduler.net/ <http://www.quartz-scheduler.net/>

Source code :https://github.com/quartznet/quartznet

Example :https://www.quartz-scheduler.net/documentation/quartz-3.x/quick-start.html

new function

* support async/await Task based jobs , Inside async/await work
* support .NET Core / netstandard 2.0 and .NET Framework 4.5.2 And later
* By provider name SQLite-Microsoft support Microsoft.Data.Sqlite, Old provider SQLite It still works , It can also be used
* Added right SQL Server Primary support and Quartz.Impl.AdoJobStore.UpdateLockRowSemaphoreMOT
* Remove from dependency Common.Logging
* delete C5 Collections, use .NET Built in frame Collections
* Add job schedule when plug-in starts XML Verification of documents
* stay TimeZoneUtil Add support for additional custom time zone resolver features in
API incompatible

* Jobs and plug-ins are separated into a single assembly / NuGet In the bag Quartz.Jobs and Quartz.Plugins
* ADO.NET Provider name simplified , Provider name without version , for example SqlServer-20 => SqlServer
* API Method has been redefined , Main use IReadOnlyCollection, This hides two HashSets and List
* LibLog Hidden inside (ILog etc. ), As it was meant to be
* SimpleThreadPool It's gone , Instead of using the system's thread pool
* The scheduler method has been changed to based on Task, Remember to await they
* IJob Interface now returns a Task
* some IList Property has been changed to IReadOnlyList , To reflect the intention correctly
* SQL Server CE Support has been removed
* DailyCalendar Use date time to exclude date now , And ISet Interface to access them
* IObjectSerializer There's a new way , Must be implemented void Initialize()
* IInterruptableJob Context removed CancellationToken
Known problems

* Windows and Linux Time zone between id something the matter , They use different ID
* .NET Core No Remoting support
This version has changed a lot , If you are an old user , Please read the migration guide carefully :