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 Alpha 2 Released

24 August 2016 by Marko Lahma

This is the second alpha of v3. This release fixes problems with schedule signaling when AdoJobStore is in use. This release removes the last bits of Quartz’s usage of thread local storage and thus makes async-based operations a lot safer.

FIXES

  • fix scheduler signaling not working with AdoJobStore due to thread local storage
  • thread local state removed altogether
  • quartz.serializer.type was required even though non-serializing RAMJobStore was in use
  • JSON serialization incorrectly called serialization callbacks

BREAKING CHANGES

  • IStatefulJob was removed, been obsolete since 2.x
  • ISemaphore interface now passes Guid requestorId that defines lock owner instead of implicit thread name

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.

Quartz.NET 2.4.1 Released

24 August 2016 by Marko Lahma

Minor release that just makes Common.Logging 3.3.1 bound by compilation process and not just by NuGet version reference.

FIXES

  • Fix Common.Logging version 3.3.1 to be a true binary reference instead of just NuGet dependency

Grab it from downloads page.

Quartz.NET 2.4 Released

18 August 2016 by Marko Lahma

Right on the heels of Quartz.NET 3.0 Alpha 1 we now have a small maintenance version. With version 2.4 we are slowing things down with 2.x series and concentrate effors on v3 development.

NEW FEATURE

  • Add SQL limit support for MySQLDelegate
  • Removed dbFailureRetryInterval since it is no longer used
  • Update Common Logging to v3.3.1

FIXES

  • Batch acquisition can cause early firing of triggers
  • Should not rely on C5.TreeSet on HolidayCalendar field serialization

Grab it from downloads page.

Quartz.NET 3.0 Alpha 1 Released

16 August 2016 by Marko Lahma

This is the first alpha release from the long-awaited v3 branch. This is a big overhaul (and still in progress). Internals are being modernized whilst still trying to keep sane upgrade path.

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 that is a work in progess.

Use at your own risk, might not be that production ready yet

What does alpha mean?

  • All existing (and new) tests passing
  • Cheese might still get moved, alpha means that APIs can change, features can come and go

NEW FEATURE

  • Task based jobs with async/await support, internals work in async/await manner
  • Support .NET Core / netstandard 1.3
  • Separate NuGet package Quartz.Serialization.Json to enable JSON based AdoJobStore serialization (no binary serialization available in .NET Core)
  • Common.Logging removed from dependencies
  • C5 Collections removed from ILMerge process, no longer needed

BREAKING CHANGES

  • .NET 4.5/netstandard1.3 required
  • 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
  • Documentation lacking

Check NuGet for pre-release packages.

Quartz.NET 2.3.3 Released

9 July 2015 by Marko Lahma

This is a minor release containing mostly bug fixes.

NEW FEATURE

  • Support generic job types with AdoJobStore

FIXES

  • AdoJobStore doesn’t notify about removing orphaned job
  • Store null JobData in JobDetails if it’s empty
  • Documentation error in SimpleTriggerImpl UpdateAfterMisfire
  • Ensure IDriverDelegate members in StdAdoDelegate are virtual

Grab it from downloads page.

Quartz.NET 2.3.2 Released

15 January 2015 by Marko Lahma

This is a minor release containing mostly bug fixes.

NEW FEATURE

  • Add mysql 6.9.5 provider support

FIXES

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

NEW FEATURE

  • Upgrade to Common.Logging 3.0.0

FIXES

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

NEW FEATURE

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

FIXES

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

Older news can be found from the news archive ».

Search

 

Quartz.NET

Related

Project Supporters

SourceForge.net Logo