Quartz.NETQuartz.NET
Home
Features
Blog
Discussions
NuGet
GitHub
Home
Features
Blog
Discussions
NuGet
GitHub
  • Getting Started

    • Overview
    • Quartz 4 Quick Start
    • Tutorial
      • Using Quartz
      • Jobs And Triggers
      • More About Jobs & JobDetails
      • Job Data
      • More About Triggers
      • Querying Jobs and Triggers
      • Simple Triggers
      • Cron Triggers
      • RecurrenceTrigger
      • Time and TimeProvider
      • Trigger and Job Listeners
      • Scheduler Listeners
      • Job Execution Middleware
      • Job Stores
      • Configuration, Resource Usage and Building a Scheduler
      • Building a Scheduler Without a Host
      • Clustering
      • Execution Groups
      • Node Affinity (Preferred Node)
      • Testing
    • Configuration Reference
    • JSON Configuration
    • Cron Expression Reference
    • Multi-Tenancy
    • Frequently Asked Questions
    • Best Practices
    • Before You Go Live
    • Operating a Cluster
    • Log Events
    • Tenancy Patterns
    • Database Schema
    • Database Schema Changes
    • Migration Guide
    • Troubleshooting
    • API Documentation
  • How To's
    • One-Off Job
    • Rescheduling Jobs
    • Retrying Failed Jobs
    • Multiple Triggers
    • Job Template
    • Running Quartz under Aspire
    • Quartz.NET with Wolverine
    • Embedding Quartz in a Library
    • Running under an External Leader Election
    • Publishing Trimmed and Native AOT
    • Extending Quartz: what is open, what is closed, and how to ask
    • A Job Store of Your Own
    • A Driver Delegate for a New Database
    • Persisting a Custom Trigger Type
    • A Lock Handler of Your Own
  • Packages

    • Quartz Core Additions

      • Jobs
      • Serialization (System.Text.Json)
      • JSON Serialization
      • Plugins
    • Integrations

      • Aspire Integration
      • ASP.NET Core Integration
      • HTTP API
      • HTTP Client
      • Dashboard
      • Hosted Services Integration
      • Microsoft DI Integration
      • Multiple Schedulers with Microsoft DI
      • Observability
      • Redis Lock Handler
      • TimeZoneConverter Integration
    • 3rd Party Plugins for Quartz
  • Quartz 3.x

    • Getting Started

      • Quartz 3 Quick Start
      • Tutorial
        • Using Quartz
        • Library Overview
        • Jobs And Triggers
        • More About Jobs
        • More About Triggers
        • Execution Groups
        • Node Affinity (Preferred Node)
        • Simple Triggers
        • Cron Triggers
        • RecurrenceTrigger
        • Trigger and Job Listeners
        • Scheduler Listeners
        • Job Stores
        • Tuning the Scheduler
        • Configuration, Resource Usage and SchedulerFactory
        • Advanced (Enterprise) Features
      • Configuration Reference
      • JSON Configuration
      • Multi-Tenancy
      • Frequently Asked Questions
      • Best Practices
      • Tenancy Patterns
      • Troubleshooting
      • API Documentation
      • Database Schema
      • Database Schema Changes
      • Migration Guide
      • Miscellaneous Features
    • How To's

      • One-Off Job
      • Multiple Triggers
      • Job Template
      • Using the CronTrigger
      • Rescheduling Jobs
    • Packages

      • Quartz Core Additions

        • Dashboard
        • Jobs
        • Serialization (System.Text.Json)
        • Serialization (Newtonsoft Json.NET)
        • Plugins
      • Integrations

        • ASP.NET Core Integration
        • Hosted Services Integration
        • Microsoft DI Integration
        • Multiple Schedulers with Microsoft DI
        • OpenTelemetry Integration
        • OpenTracing Integration
        • Redis Lock Handler
        • TimeZoneConverter Integration
      • 3rd Party Plugins for Quartz
  • Old Releases

    • Quartz 2.x
      • Quartz 2 Quick Start
      • Tutorial
        • Lesson 1: Using Quartz
        • Lesson 2: Jobs And Triggers
        • Lesson 3: More About Jobs & JobDetails
        • Lesson 4: More About Triggers
        • Lesson 5: SimpleTrigger
        • Lesson 6: CronTrigger
        • Lesson 7: TriggerListeners and JobListeners
        • Lesson 8: SchedulerListeners
        • Lesson 9: JobStores
        • Lesson 10: Configuration, Resource Usage and SchedulerFactory
        • Lesson 11: Advanced (Enterprise) Features
        • Lesson 12: Miscellaneous Features of Quartz
        • CronTrigger Tutorial
      • Configuration Reference
      • Migration Guide
      • API Documentation
    • Quartz 1.x
      • Tutorial
        • Lesson 1: Using Quartz
        • Lesson 2: Jobs And Triggers
        • Lesson 3: More About Jobs & JobDetails
        • Lesson 4: More About Triggers
        • Lesson 5: SimpleTrigger
        • Lesson 6: CronTrigger
        • Lesson 7: TriggerListeners and JobListeners
        • Lesson 8: SchedulerListeners
        • Lesson 9: JobStores
        • Lesson 10: Configuration, Resource Usage and SchedulerFactory
        • Lesson 11: Advanced (Enterprise) Features
        • Lesson 12: Miscellaneous Features of Quartz
      • API Documentation
  • License

Packages by other authors that integrate with Quartz.NET. They are listed here for convenience; they are not maintained by the Quartz.NET project, and their compatibility with a given Quartz version is theirs to state.

Migrations

AppAny.Quartz.EntityFrameworkCore.Migrations

This library handles schema creation and migrations for Quartz.NET using EntityFrameworkCore migrations toolkit with one line of configuration

Since 4.0 the supported way to have a schema created for you is built in. The DDL it runs is compared object by object with database/tables/ in the build, and provisioned against a real database of every dialect in the integration tests, so it cannot drift from the schema the release expects. A package that models the tables separately tracks them separately, so which Quartz version its schema matches is its own to state.

Weasel.Quartz

Runtime PostgreSQL migration support for non-EF & Marten projects.

Database Implementations

Quartz.NET-RavenDB

JobStore implementation for Quartz.NET scheduler using RavenDB.

QuartzRedisJobStore

A Quartz Scheduler JobStore using Redis via C#

The project was a ported version of quartz-redis-jobstore (https://github.com/jlinn/quartz-redis-jobstore), currently it lacks of supporting redis-cluster. It uses StackExchange.Redis as the redis client.

Quartz.NET-CosmosDB

JobStore implementation for Quartz.NET scheduler using Microsoft Azure CosmosDb.

Quartz.NET-MongoDB

JobStore implementation for Quartz.NET scheduler using MongoDb.

Dependency Injection

Autofac.Extras.Quartz

Autofac integration package for Quartz.Net.

Dashboards

CrystalQuartz

A pluggable web UI for Quartz.NET, hosted inside the application whose scheduler it watches.

SilkierQuartz

Web management tools for Quartz.NET, with an execution-history plugin of its own and EF Core stores to keep that history in.

Neither has a Quartz.NET 4.0 release yet

As with everything else on this page, 4.0 support is theirs to state — and when this page was last checked, on 2026-08-30, neither had published a release built against it: SilkierQuartz 10.0.0 depends on Quartz 3.18.0, and CrystalQuartz 7.3.0's Quartz 3 adapter is compiled against the 3.x interface. Both read IScheduler.GetMetaData(), IScheduler.GetCurrentlyExecutingJobs() and the IsStarted / InStandbyMode / IsShutdown triple, every one of which 4.0 renamed or removed — the appendix to the migration guide says what each became. Both bind to whichever Quartz assembly the host loaded rather than to one of their own, so the mismatch shows itself when the dashboard is served, not when the application compiles.

Quartz.Dashboard, which ships from this repository, is built against 4.0.

Schedules

NaturalCron.Quartz

Human-readable schedule expressions for Quartz.NET. WithNaturalCronSchedule(...) takes the place of WithCronSchedule(...) on a TriggerBuilder and accepts a sentence — "Every day between monday and friday at 6:00pm" — or the same schedule built with a fluent builder. Cron expressions keep working alongside it. The package is maintained outside this repository.

Help us by improving this page!
Last Updated: 9/12/26, 9:19 PM
Contributors: Marko Lahma, Claude Opus 5 (1M context)