Quartz 4.1.0

Quartz.NET

Quartz.NET is a full-featured, open source job scheduling system that can be used from the smallest apps to large scale enterprise systems.

Installation

dotnet add package Quartz

That is everything a scheduler needs: dependency injection, hosting, the scheduler health check and System.Text.Json serialization are part of this package, where Quartz 3 shipped them separately.

Three things Quartz deliberately does not bring. The host below is Microsoft's — a project that has no Microsoft.Extensions.Hosting reference yet (a plain console one; the worker and web templates already have it) adds dotnet add package Microsoft.Extensions.Hosting. Quartz writes log events and leaves deciding where they go to the application, so it references Microsoft.Extensions.Logging.Abstractions rather than Microsoft.Extensions.Logging — a host brings the implementation with it, and a project that builds an ILoggerFactory itself adds dotnet add package Microsoft.Extensions.Logging. And a persistent store loads its ADO.NET driver by name, so UseSqlServer needs Microsoft.Data.SqlClient referenced, UsePostgres needs Npgsql, and so on.

Quick start

A job is a class with one method:

public sealed class HelloJob : IJob
{
    public async ValueTask Execute(IJobExecutionContext context, CancellationToken cancellationToken = default)
    {
        await Console.Out.WriteLineAsync("Greetings from HelloJob!");
    }
}

Register it with a trigger that fires it; the hosted service starts and stops the scheduler with the application:

HostApplicationBuilder builder = Host.CreateApplicationBuilder(args);

builder.AddQuartz(q => q.ScheduleJob<HelloJob>(trigger => trigger
    .WithIdentity("hello")
    .WithSimpleSchedule(TimeSpan.FromSeconds(10))));

builder.AddQuartzHostedService(options => options.WaitForJobsToComplete = true);

Console applications and tests build a scheduler without a host, from the same configuration API:

IScheduler scheduler = await QuartzSchedulerBuilder.Create().BuildScheduler();
await scheduler.Start();

Optional packages

Package For
Quartz.AspNetCore the HTTP API
Quartz.Aspire a persistent store, its telemetry and its health check from an Aspire connection name
Quartz.Dashboard the web dashboard
Quartz.HttpClient driving a remote scheduler over the HTTP API
Quartz.Jobs ready-made jobs: file scanning, sending mail, running a process
Quartz.Plugins history logging, XML and JSON schedule files
Quartz.Plugins.TimeZoneConverter Windows and IANA time zone ids resolving on either operating system
Quartz.Serialization.Newtonsoft persisting with Newtonsoft.Json instead of System.Text.Json
Quartz.Extensions.Redis Redis distributed locks for a cluster

Documentation

Showing the top 20 packages that depend on Quartz.

Packages Downloads
Autofac.Extras.Quartz
Autofac integration for Quartz.Net.
52
Autofac.Extras.Quartz
Autofac integration for Quartz.Net
50
Autofac.Extras.Quartz
Autofac integration for Quartz.Net.
49
MassTransit.Quartz
MassTransit Quartz.NET scheduler support; MassTransit provides a developer-focused, modern platform for creating distributed applications without complexity.
48
Autofac.Extras.Quartz
Autofac integration for Quartz.Net.
48
Autofac.Extras.Quartz
Autofac integration for Quartz.Net.
47
Autofac.Extras.Quartz
Autofac integration for Quartz.Net
47
MassTransit.Quartz
MassTransit Quartz.NET scheduler support; MassTransit provides a developer-focused, modern platform for creating distributed applications without complexity.
47
Quartz.Extensions.DependencyInjection
Quartz.NET Microsoft.Extensions.DependencyInjection integration; Quartz Scheduling Framework for .NET
47
Autofac.Extras.Quartz
Autofac integration for Quartz.Net.
46
MassTransit.Quartz
MassTransit Quartz.NET scheduler support; MassTransit provides a developer-focused, modern platform for creating distributed applications without complexity.
46
Autofac.Extras.Quartz
Autofac integration for Quartz.Net
45
Autofac.Extras.Quartz
Autofac integration for Quartz.Net.
45
Quartz.Extensions.DependencyInjection
Quartz.NET Microsoft.Extensions.DependencyInjection integration; Quartz Scheduling Framework for .NET
45
Autofac.Extras.Quartz
Autofac integration for Quartz.Net.
44

Version Downloads Last updated
4.1.1 1 09/19/2026
4.1.0 6 09/14/2026
4.0.1 10 09/09/2026
4.0.0 10 09/04/2026
4.0.0-rc.2 14 09/04/2026
4.0.0-rc.1 11 09/04/2026
4.0.0-beta.1 8 09/05/2026
4.0.0-alpha.5 12 09/02/2026
4.0.0-alpha.4 13 09/02/2026
4.0.0-alpha.3 8 09/01/2026
4.0.0-alpha.2 11 08/30/2026
4.0.0-alpha.1 10 08/23/2026
3.22.0 7 09/13/2026
3.21.0 6 09/11/2026
3.20.1 8 09/04/2026
3.20.0 10 09/01/2026
3.19.1 20 07/28/2026
3.19.0 13 07/26/2026
3.18.2 20 06/28/2026
3.18.1 41 04/28/2026
3.18.0 35 04/13/2026
3.17.1 58 04/05/2026
3.17.0 31 03/31/2026
3.16.1 41 03/05/2026
3.16.0 45 03/03/2026
3.15.1 55 12/13/2025
3.15.0 48 12/20/2025
3.14.0 37 12/12/2025
3.13.1 28 12/11/2025
3.13.0 37 12/10/2025
3.12.0 42 12/11/2025
3.11.0 32 12/11/2025
3.10.0 40 12/11/2025
3.9.0 28 12/11/2025
3.8.1 26 12/09/2025
3.8.0 22 12/11/2025
3.7.0 47 12/11/2025
3.6.3 33 12/11/2025
3.6.2 26 12/11/2025
3.6.1 32 12/11/2025
3.6.0 33 12/12/2025
3.5.0 38 12/11/2025
3.4.0 31 12/11/2025
3.3.3 26 12/11/2025
3.3.2 28 12/10/2025
3.3.1 24 12/14/2025
3.3.0 32 12/11/2025
3.2.4 33 12/20/2025
3.2.3 24 12/09/2025
3.2.2 35 12/10/2025
3.2.1 27 12/11/2025
3.2.0 25 12/11/2025
3.1.0 48 12/11/2025
3.0.7 32 12/11/2025
3.0.6 37 12/11/2025
3.0.5 30 12/11/2025
3.0.4 34 12/11/2025
3.0.3 26 12/11/2025
3.0.2 32 12/11/2025
3.0.1 28 12/11/2025
3.0.0 27 12/10/2025
2.6.2 26 12/10/2025
2.6.1 27 12/11/2025
2.6.0 28 12/11/2025
2.5.0 27 12/11/2025
2.4.1 25 12/10/2025
2.4.0 36 12/11/2025
2.3.3 39 12/12/2025
2.3.2 24 12/10/2025
2.3.1 23 12/12/2025
2.3.0 31 12/10/2025
2.2.4 41 12/10/2025
2.2.3 29 12/11/2025
2.2.2 37 12/11/2025
2.2.1 39 12/13/2025
2.2.0 36 12/11/2025
2.1.2 28 12/11/2025
2.1.1 40 12/11/2025
2.1.0 25 12/11/2025
2.0.1 44 12/11/2025
2.0.0 39 12/12/2025
1.0.3 29 12/11/2025