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 2.3.2 Released

15 January 2015 by Marko Lahma

This is a minor release containing mostly bug fixes.


  • Add mysql 6.9.5 provider support


  • Avoid unnecessary object allocations in CronExpression
  • CalendarIntervalTrigger and DailyTimeIntervalTrigger produce incorrect schedule builders
  • Incorrect multiplication factor in DailyTimeIntervalScheduleBuilder.EndingDailyAfterCount()
  • AnnualCalendar SetDayExcluded does not update internal data structures if base calendar excludes date
  • Ensure IDriverDelegate members in StdAdoDelegate are virtual
  • Several XML documentation spelling error fixes

Grab it from downloads page.

Quartz.NET 2.3.1 Released

15 January 2015 by Marko Lahma

This is a bug fix release with upgraded Common.Logging dependency, also problems running under .NET 4.0 should now be finally fixed.


  • Upgrade to Common.Logging 3.0.0


  • JobDetailImpl members should be virtual
  • Triggers do not transition to error state in AdoJobStore when job retrieval fails during trigger acquisition
  • Quartz.Server.exe.config refers to wrong Common.Logging.Log4Net assembly
  • Incorrect NextFireTime when 'schedule-trigger-relative-to-replaced-trigger' = 'true'
  • Could not load type 'System.Runtime.CompilerServices.ExtensionAttribute' from assembly mscorlib
  • TriggerBuilder.UsingJobData(JobDataMap newJobDataMap) should ovewrite existing data

Grab it from downloads page.

Quartz.NET 2.3 Released

8 November 2014 by Marko Lahma

This is a bug fix release with some changes that warrant a minor version increment.


  • Upgrade to Common.Logging 2.3.1
  • Add ability to check if calendar exists in job store
  • Add FirebirdDelegate and update Firebird driver


  • DailyTimeIntervalTriggerImpl fires twice during daylight saving time day
  • No wait time between db connection failures with AcquireNextTriggers causes excessive logging
  • Configure the quartz server in the section fails
  • CronExpression ctor incorrectly uses the non-uppercased string
  • Triggers fired milliseconds too early
  • Loading of Quartz 4.0 DLL fails on systems with no .NET 4.5 installed

Grab it from downloads page.

Quartz.NET 2.2.4 Released

27 July 2014 by Marko Lahma

This is a bug fix release addressing some minor issues.


  • Cannot register trigger persistence delegates with assembly qualified names
  • Set example server's current directory to the one where server.exe is
  • Fix TimeZoneInfo.GetUtcOffset(DateTimeOffset dateTimeOffset) not implemented in Mono
  • Gracefully handle mixed useProperties usage when reading from DB when useproperties value has changed
  • FindSystemTimeZoneById should work with both 'Coordinated Universal Time' and 'UTC'
  • Latest release (2.2.3) didn't include Dbprovider constant string in StdSchedulerFactory - running examples fails

Grab it from downloads page.

Quartz.NET 2.2.3 Released

30 March 2014 by Marko Lahma

This is a bug fix release which has some critical fixes, especially for CalendarIntevalTrigger future date calculation and trigger's next fires not being processed in a timely fashion when AdoJobStore is used with DisallowConcurrentExecutionAttribute and trigger has short repeat interval.

This update is highly recommended for all users.


  • StdAdoConstants.SqlSelectSchedulerStates does not filter on the SCHED_NAME column
  • CalendarIntervalTrigger produces incorrect schedule
  • Trigger completion signaling from AdoJobStore does not work properly when DisallowConcurrentExecution is set


  • IDisposable jobs should be disposed after execution
  • Support for defining DbMetadata via App.config's quartz section

Grab it from downloads page.

Quartz.NET 2.2.2 Released

9 February 2014 by Marko Lahma

This is a minor release fixing couple of minor bugs.


  • long properties incorrectly read as int in SimplePropertiesTriggerPersistenceDelegateSupport
  • RecoveringTriggerKey in JobExecutionContext has group and name wrong way around
  • Make SQL Server table create script Azure SQL compliant
  • Add missing clustered index for QRTZ_BLOB_TRIGGERS table ** You need to manually add this to existing installation (tables created with old script), see ALTER TABLE [dbo].QRTZ_BLOB_TRIGGERS WITH NOCHECK ADD... in script

Grab it from downloads page.

The tutorial has been updated to include 2.x API changes

7 January 2014 by Marko Lahma

With the latest switch to GitHub Pages it's been a joy to create content. There tutorial has now been split to two separate tutorials for Quartz.NET 1.x and 2.x respectively.

Check the new tutorial with the 2.x API changes

Website has moved to using GitHub pages

6 January 2014 by Marko Lahma

The whole website has moved to using GitHub pages. It should be now easier to contribute to documentation, the tutorial for version 2.x is currently in the works so stay tuned. You can fork and create pull requests from the gh-pages branch of the repository.

There still might be some small glitches with links and content.

Older news can be found from the news archive ».





Project Supporters

Supported by Innovasys (Document! X)

SourceForge.net Logo