Quartz.NET - Quartz Enterprise Scheduler .NET

Quartz Enterprise Scheduler .NET

Quartz.NET is a full-featured, open source job scheduling system that can be used from smallest apps to large scale enterprise systems.

Quartz.NET is a pure .NET library written in C# and is a port of very popular open source Java job scheduling framework, Quartz. This project owes very much to original Java project, it’s father James House and the project contributors.

Quartz.NET 3.0.5 Released

27 May 2018 by Marko Lahma

This release fixes couple bugs and adds support for .NET Core version of Oracle’s managed data access library.

NEW FEATURE

  • Support Oracle.ManagedDataAccess.Core (#609)

FIXES

  • trigger loop encountered using DailyTimeIntervalTrigger across DST start boundary (#610)
  • Missing ConfigureAwait(false) in some parts of code (#618)

Grab it from downloads page.

Quartz.NET 2.6.2 Released

27 May 2018 by Marko Lahma

This is a maintenance release fixing some bugs.

FIXES

  • trigger loop encountered using DailyTimeIntervalTrigger across DST start boundary (#610)
  • tables_oracle.sql should use NUMBER(19) instead of NUMBER(13) for long properties (#598)
  • XML scheduling requires write access to source XML file (#591)

Grab it from downloads page.

Quartz.NET 3.0.4 Released

4 March 2018 by Marko Lahma

This release fixes a nasty memory leak caused by QuartzSchedulerThread sharing its CancellationTokenSource with calls it makes. Everyone using 3.x is advised to upgrade.

FIXES

  • Memory leak caused by CancellationTokenSource sharing (#600)
  • tables_oracle.sql should use NUMBER(19) instead of NUMBER(13) for long properties (#598)

Grab it from downloads page.

Quartz.NET 3.0.3 Released

24 February 2018 by Marko Lahma

This is a minor fix release.

FIXES

  • XML scheduling requires write access to source XML file (#591)
  • Improve listener error handling (#589)
  • SQL command parameters are not defined in ‘IsTriggerStillPresent’ method (#579)
  • Source distribution couldn’t be built with build.cmd/.sh when no .git directory present (#596)
  • Currently executing jobs cannot be retrieved via remoting (#580)

Grab it from downloads page.

Quartz.NET 3.0.2 Released

25 January 2018 by Marko Lahma

This is a minor fix release that fixes single issue that still prevented full usage of remoting.

FIXES

  • Mark ReadOnlyCompatibleHashSet as serializable (#576)

Grab it from downloads page.

Quartz.NET 3.0.1 Released

21 January 2018 by Marko Lahma

This is a bug fix release that fixes cron expression parsing bug and reverts IRemotableQuartzScheduler interface back to its original form without Tasks and CancellationTokens - so that’s it’s actually usable through .NET Remoting infrastructure. Now zip packing is also back and includes Quartz.Server.

FIXES

  • Create zip package as part of release, including Quartz.Server (#572)
  • A specific CronExpression fails with “Input string was not in a correct format.” (#568)
  • Cannot use remoting due to Task and CancellationToken signatures (#571)

Grab it from downloads page.

Quartz.NET 3.0 Released

30 December 2017 by Marko Lahma

The wait is over, Quartz.NET 3.0 is here with .NET Core support and async/await!

A big thank you goes to Mike Rousos who really made it possible to get Quartz.NET working on .NET Core. Daniel Marbach also contributed a lot with ideas and code to async side. And of course never forgetting the community members that have provided feedback and fixes.

Please see the migration guide.

NEW FEATURE

  • Task based jobs with async/await support, internals work in async/await manner
  • Support .NET Core / netstandard 2.0 and .NET Framework 4.5.2 and later
  • Support for Microsoft.Data.Sqlite via provider name SQLite-Microsoft, the old provider SQLite also still works
  • Added preliminary support for SQL Server Memory-Optimized tables and Quartz.Impl.AdoJobStore.UpdateLockRowSemaphoreMOT
  • Common.Logging removed from dependencies
  • C5 Collections removed from ILMerge process, no longer needed
  • Add support for eager validation of job scheduling XML file on plugin start
  • Add support for extra custom time zone resolver function in TimeZoneUtil

BREAKING CHANGES

  • Jobs and plugins are now in a separate assemblies/NuGet packages Quartz.Jobs and Quartz.Plugins
  • ADO.NET provider names have been simplified, the provider names are without version, e.g. SqlServer-20 => SqlServer
  • API methods have been revisited to mainly use IReadOnlyCollection, this hides both HashSets and Lists
  • LibLog has been hidden as internal (ILog etc), like it was originally intended to be
  • SimpleThreadPool is gone, old owned threads are gone
  • Scheduler methods have been changed to be Task based, remember to await them
  • IJob interface now returns a task
  • Some IList properties have been changed to IReadOnlyList to properly reflect intent
  • SQL Server CE support has been dropped
  • DailyCalendar uses now datetimes for excluded dates and has ISet interface to access them
  • IObjectSerializer has new method, void Initialize(), that has to be implemented
  • IInterruptableJob removed in favor of context’s CancellationToken

KNOWN ISSUES

  • Issues with time zone ids between Windows and Linux, they use different ids for the same zone
  • No remoting support for .NET Core

Grab it from downloads page.

Quartz.NET 2.6.1 Released

9 October 2017 by Marko Lahma

This is a maintenance release fixing an issue where misfire handling is being too slow at times. This regression has been present since version 2.4.

NEW FEATURE

  • Allow performing misfire handling more frequently than misfireThreshold (#532)

FIXES

  • Incomplete recovery of misfired jobs when using database-specific delegate types (#531)

Grab it from downloads page.

Older news can be found from the news archive ».

Search

 

Quartz.NET

Related

Project Supporters

SourceForge.net Logo