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

Quartz.NET 2.2.4 Released

27 July 2014 by Marko Lahma

This is a bug fix release addressing some minor issues.

FIXES

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

FIXES

  • 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

NEW FEATURES

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

FIXES

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

Quartz.NET 2.2.1 Released

24 November 2013 by Marko Lahma

This is a minor release containing mostly bug fixes.

NEW FEATURES

  • GroupMatcher.AnyGroup() support
  • Add network credential and SMTP port definition support to SendMailJob

FIXES

  • SchedulerException constructor unnecessarily uses Exception.ToString as message
  • Thread name prefix for thread pool is not set
  • Triggers should not be excluded based on the fire time of the first selected trigger
  • Quarts server does not properly log possible exception when starting the service
  • DailyTimeIntervalTrigger GetFireTimeAfter produces incorrect result when date is in the past
  • batchTriggerAcquisitionMaxCount acquires one trigger unless batchTriggerAcquisitionFireAheadTimeWindow is also set
  • Oracle ODP Managed provider should set BindByName to true for OracleCommands

Grab it from downloads page.

Quartz.NET 2.2 Released

9 October 2013 by Marko Lahma

This release contains important bug fixes, new functionality and minor breaking changes.

UPGRADING

Please examine and run the database\schema_20_to_22_upgrade.sql script if you are using AdoJobStore this script adds a new column SCHED_TIME to table QRTZ_FIRED_TRIGGERS file contains the alter command for SQL Server and other database samples in comments

BREAKING CHANGES

  • database schema needs upgrade
  • add SchedulerStarting() method to ISchedulerListener interface
  • make the scheduler's TypeLoadHelper available to plugins when they are initialized
  • dbFailureRetryInterval parameter was removed from DirectSchedulerFactory APIs

NEW FEATURES

  • ability to override worker thread names (when using SimpleThreadPool)
  • add new IScheduler method: ScheduleJob(IJobDetail job, ISet trigger) to schedule multiple triggers for a job all at once
  • allow 'triggerless' initial storing of non-durable jobs.
  • improvements for job recovery information
  • package job_scheduling_data_2_0.xsd to nuget package's content folder
  • allow scheduler exported with remoting to be used from local machine only
  • support for Oracle managed ODP driver

FIXES

  • job ending with exception and trigger not going to fire again, trigger is incorrectly not removed from job store
  • XML schema supports multiple schedule elements but processor does not
  • DailyTimeIntervalTriggerPersistenceDelegate does not handle empty time interval properly
  • DailyTimeIntervalScheduleBuilder.EndingDailyAfterCount(...) doesn't pass validation
  • trace throwing exception
  • bug in QuartzSchedulerThread.GetRandomizedIdleWaitTime()
  • can't delete or replace job without the referenced class

MISC

  • Performance improvements, including improvements to some select statements in AdoJobStore

Grab it from downloads page.

Older news can be found from the news archive ».

Search

 

Quartz.NET

Related

Project Supporters

Supported by Innovasys (Document! X)

SourceForge.net Logo