Quartz 4.4.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);

A recurring job can instead be declared on its class with [QuartzJob] and [CronTrigger("0 0 0/6 * * ?")]; a source generator in this package writes the registration, and an analyzer fails the build on a cron expression that would not parse. See Declaring jobs with attributes.

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.Weasel.* the store's tables under Weasel, as Marten and Wolverine manage theirs; one package per database
Quartz.Extensions.Redis Redis distributed locks for a cluster

Documentation

Showing the top 20 packages that depend on Quartz.

Packages Downloads
Quartz.AspNetCore
A package to help you use Quartz.NET in Asp.Net core by DI easily
21
Quartz.AspNetCore
A package to help you use Quartz.NET in Asp.Net core by DI easily
22
Quartz.AspNetCore
Quartz.NET ASP.NET Core integration; Quartz Scheduling Framework for .NET
19
Quartz.AspNetCore
Quartz.NET ASP.NET Core integration; Quartz Scheduling Framework for .NET
20
Quartz.AspNetCore
Quartz.NET ASP.NET Core integration; Quartz Scheduling Framework for .NET
22
Quartz.Extensions.DependencyInjection
Extension methods to integrate Quartz scheduler and the jobs with the generic host in net core.
19
Quartz.Extensions.DependencyInjection
Quartz.NET Microsoft.Extensions.DependencyInjection integration; Quartz Scheduling Framework for .NET
21
Quartz.Extensions.DependencyInjection
Quartz.NET Microsoft.Extensions.DependencyInjection integration; Quartz Scheduling Framework for .NET
23
Quartz.Extensions.DependencyInjection
Quartz.NET Microsoft.Extensions.DependencyInjection integration; Quartz Scheduling Framework for .NET
26
Quartz.Extensions.DependencyInjection
Quartz.NET Microsoft.Extensions.DependencyInjection integration; Quartz Scheduling Framework for .NET
27
Quartz.Extensions.DependencyInjection
Quartz.NET Microsoft.Extensions.DependencyInjection integration; Quartz Scheduling Framework for .NET
35
Quartz.Extensions.DependencyInjection
Quartz.NET Microsoft.Extensions.DependencyInjection integration; Quartz Scheduling Framework for .NET
52
Quartz.Extensions.Hosting
Quartz.NET Generic Host integration; Quartz Scheduling Framework for .NET
19
Quartz.Extensions.Hosting
Quartz.NET Generic Host integration; Quartz Scheduling Framework for .NET
20
Quartz.Serialization.Json
Quartz.NET JSON Serialization Support; Quartz Scheduling Framework for .NET
19
Quartz.Serialization.Json
Quartz.NET JSON Serialization Support; Quartz Scheduling Framework for .NET
20

Version Downloads Last updated
4.4.0 1 08.10.2026
4.3.0 0 29.09.2026
4.2.4 1 08.10.2026
4.2.3 1 08.10.2026
4.2.2 0 28.09.2026
4.2.1 1 08.10.2026
4.2.0 3 26.09.2026
4.1.1 1 26.09.2026
4.1.0 2 26.09.2026
4.0.1 2 26.09.2026
4.0.0 3 26.09.2026
4.0.0-rc.2 3 26.09.2026
4.0.0-rc.1 3 16.09.2026
4.0.0-beta.1 1 28.09.2026
4.0.0-alpha.5 2 28.09.2026
4.0.0-alpha.3 3 19.09.2026
4.0.0-alpha.2 3 09.09.2026
4.0.0-alpha.1 3 29.09.2026
3.22.4 1 08.10.2026
3.22.3 0 29.09.2026
3.22.2 1 09.10.2026
3.22.1 0 28.09.2026
3.22.0 1 26.09.2026
3.21.0 2 26.09.2026
3.20.1 2 23.09.2026
3.20.0 2 12.09.2026
3.19.1 6 07.08.2026
3.19.0 7 07.08.2026
3.18.2 8 02.07.2026
3.18.1 13 26.04.2026
3.18.0 23 11.04.2026
3.17.1 25 05.04.2026
3.17.0 8 31.03.2026
3.16.1 7 14.03.2026
3.16.0 9 02.03.2026
3.15.1 19 09.11.2025
3.15.0 16 14.09.2025
3.14.0 37 14.03.2025
3.13.1 33 10.11.2024
3.13.0 59 16.08.2024
3.12.0 25 15.08.2024
3.11.0 29 26.07.2024
3.10.0 21 02.07.2024
3.9.0 24 13.05.2024
3.8.1 22 26.06.2024
3.8.0 17 14.03.2025
3.7.0 24 24.01.2025
3.6.3 22 24.01.2025
3.6.2 20 28.01.2025
3.6.1 24 24.01.2025
3.6.0 22 23.07.2024
3.5.0 24 23.01.2025
3.4.0 25 28.11.2024
3.3.3 22 25.07.2024
3.3.2 21 11.01.2025
3.3.1 24 23.01.2025
3.3.0 21 24.07.2024
3.2.4 21 18.07.2024
3.2.3 22 24.01.2025
3.2.2 20 02.01.2025
3.2.1 22 28.11.2024
3.2.0 20 20.07.2024
3.1.0 21 04.08.2024
3.0.7 20 27.01.2025
3.0.6 19 23.01.2025
3.0.5 25 28.11.2024
3.0.4 23 04.01.2025
3.0.3 22 24.01.2025
3.0.2 19 04.08.2024
3.0.1 23 10.11.2024
3.0.0 26 04.08.2024
2.6.2 17 23.01.2025
2.6.1 22 23.01.2025
2.6.0 23 04.08.2024
2.5.0 25 06.01.2025
2.4.1 23 04.08.2024
2.4.0 22 28.11.2024
2.3.3 22 04.08.2024
2.3.2 21 23.01.2025
2.3.1 23 24.01.2025
2.3.0 21 28.11.2024
2.2.4 18 24.01.2025
2.2.3 20 24.01.2025
2.2.2 21 04.08.2024
2.2.1 21 23.01.2025
2.2.0 23 24.01.2025
2.1.2 25 24.01.2025
2.1.1 23 28.11.2024
2.1.0 20 16.08.2024
2.0.1 23 23.01.2025
2.0.0 19 28.11.2024
1.0.3 21 24.01.2025