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.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.

Quartz.NET 3.0 Beta 1 Released

8 October 2017 by Marko Lahma

This is the first beta of v3. Stabilization and testing has been well underway.

When using AdoJobStore: make sure to run both 2.6 and 3.0 SQL migration scripts if you are upgrading from 2.5, otherwise just 3.0 migration script

NEW FEATURE

  • returned .NET Framework 4.5.2 compatibility to better support library consumers like NServiceBus and MassTransit
  • netstandard 2.0 is now minimum for .NET Core
  • support for Microsoft.Data.Sqlite via provider name SQLite-Microsoft, the old provider SQLite also still works
  • Firebird is supported in .NET Core
  • Added preliminary support for SQL Server Memory-Optimized tables and Quartz.Impl.AdoJobStore.UpdateLockRowSemaphoreMOT

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

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
  • Documentation lacking

Check NuGet for pre-release packages.

Quartz.NET 3.0 Alpha 3 Released

30 July 2017 by Marko Lahma

This is the third alpha of v3. APIs have had some love in form of adding CancellationToken support and using more IReadOnlyCollections more concisely. Unfortunately we still don't have the story done for remote management support (HTTP API).

When using AdoJobStore: make sure to run both 2.6 and 3.0 SQL migration scripts if you are upgrading from 2.5, otherwise just 3.0 migration script

NEW FEATURE

  • support for .NET Standard 2.0 preview (#486)
  • support for MySQL on .NET Standard via provider ‘MySql’ (#493)
  • change SQL database IMAGE types to VARBINARY - requires migration schema_26_to_30.sql
  • add ISchedulerListener.JobInterrupted(JobKey jobKey, CancellationToken cancellationToken) (#467)

FIXES

  • fix PosgreSQL db provider configuration for .NET Core (#449)
  • CancellationToken is now supported in async methods (#444)
  • fix regression with XML schema validation

BREAKING CHANGES

  • possibly breaking, cron expression validation is now stricter (#315 #485)
  • .NET 4.6 required instead of old 4.5
  • 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

KNOWN ISSUES

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

Check NuGet for pre-release packages.

Older news can be found from the news archive ».

Search

 

Quartz.NET

Related

Project Supporters

SourceForge.net Logo