Quartz.Plugins 4.1.0
Quartz.Plugins
Quartz.Plugins provides ready-made
ISchedulerPlugin implementations: logging a history of job and trigger events, and loading jobs and
triggers from a file at startup.
| Plugin | Extension |
|---|---|
StructuredLoggingJobHistoryPlugin / StructuredLoggingTriggerHistoryPlugin |
UseStructuredJobLogging(…) / UseStructuredTriggerLogging(…) |
LoggingJobHistoryPlugin / LoggingTriggerHistoryPlugin |
UseJobHistoryLogging(…) / UseTriggerHistoryLogging(…) |
JsonSchedulingDataProcessorPlugin / XmlSchedulingDataProcessorPlugin |
UseJsonSchedulingConfiguration(…) / UseXmlSchedulingConfiguration(…) |
Two plugins were retired in 4.0 because the host already does their job. Interrupting a job that
overruns is AddJobTimeout(…) in the core package, which needs no plugin and no job-data-map keys.
Shutting the scheduler down when the process exits is AddQuartzHostedService(), whose
QuartzHostedServiceOptions.WaitForJobsToComplete is what ShutdownHookPlugin.CleanShutdown was.
Installation
dotnet add package Quartz.Plugins
Usage
The extensions hang off IQuartzBuilder, so the same calls configure a scheduler with or without a
host:
builder.Services.AddQuartz(q =>
{
q.UseStructuredJobLogging();
q.UseStructuredTriggerLogging();
q.UseJsonSchedulingConfiguration("quartz_jobs.json");
});
The flat quartz.plugin.{name}.{property} keys Quartz 3 used still work and mean the same thing, and
AddPlugin<TPlugin>() registers a plugin of your own so the container constructs it.
These plugins live in the Quartz.Plugins.* namespaces. In Quartz 3 they were the singular
Quartz.Plugin.*; a quartz.plugin.<name>.type naming the old spelling still resolves, with a warning.
JSON is the maintained format for a schedule kept in a file. job_scheduling_data_2_0.xsd is frozen at
three trigger kinds — simple, cron and calendar-interval — and will not gain a fourth, though a trigger
setting can still land as an optional element: 4.1 added <execution-group>, <retry-policy> and
<preferred-node>. Existing files keep working; write a new schedule that needs another trigger kind
as JSON.
Documentation
https://www.quartz-scheduler.net/documentation/quartz-4.x/packages/quartz-plugins.html
Showing the top 20 packages that depend on Quartz.Plugins.
| Packages | Downloads |
|---|---|
|
Quartz.Plugins.TimeZoneConverter
Quartz.NET TimeZoneConverter integration https://github.com/mj1856/TimeZoneConverter; Quartz Scheduling Framework for .NET
|
29 |
|
Quartz.Plugins.TimeZoneConverter
Quartz.NET TimeZoneConverter integration https://github.com/mj1856/TimeZoneConverter; Quartz Scheduling Framework for .NET
|
30 |
|
Quartz.Plugins.TimeZoneConverter
Quartz.NET TimeZoneConverter integration https://github.com/mj1856/TimeZoneConverter; Quartz Scheduling Framework for .NET
|
31 |
|
Quartz.Plugins.TimeZoneConverter
Quartz.NET TimeZoneConverter integration https://github.com/mj1856/TimeZoneConverter; Quartz Scheduling Framework for .NET
|
32 |
|
Quartz.Plugins.TimeZoneConverter
Quartz.NET TimeZoneConverter integration https://github.com/mj1856/TimeZoneConverter; Quartz Scheduling Framework for .NET
|
33 |
|
Quartz.Plugins.TimeZoneConverter
Quartz.NET TimeZoneConverter integration https://github.com/mj1856/TimeZoneConverter; Quartz Scheduling Framework for .NET
|
34 |
.NET 10.0
- Quartz.Jobs (>= 4.1.0)
- Microsoft.Extensions.Configuration.Binder (>= 10.0.0)
- Microsoft.Extensions.DependencyInjection (>= 10.0.0)
- Microsoft.Extensions.Diagnostics.HealthChecks (>= 10.0.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.0)
| Version | Downloads | Last updated |
|---|---|---|
| 4.1.0 | 1 | 09/13/2026 |
| 4.0.1 | 5 | 09/09/2026 |
| 4.0.0 | 7 | 09/04/2026 |
| 4.0.0-rc.2 | 6 | 09/04/2026 |
| 4.0.0-rc.1 | 6 | 09/04/2026 |
| 4.0.0-beta.1 | 6 | 09/04/2026 |
| 4.0.0-alpha.5 | 7 | 09/01/2026 |
| 4.0.0-alpha.4 | 8 | 08/31/2026 |
| 4.0.0-alpha.3 | 9 | 08/27/2026 |
| 4.0.0-alpha.2 | 9 | 08/26/2026 |
| 4.0.0-alpha.1 | 8 | 08/25/2026 |
| 3.22.0 | 1 | 09/13/2026 |
| 3.21.0 | 1 | 09/12/2026 |
| 3.20.1 | 6 | 09/04/2026 |
| 3.20.0 | 8 | 08/28/2026 |
| 3.19.1 | 21 | 07/26/2026 |
| 3.19.0 | 18 | 07/26/2026 |
| 3.18.2 | 22 | 06/28/2026 |
| 3.18.1 | 35 | 04/27/2026 |
| 3.18.0 | 31 | 04/17/2026 |
| 3.17.1 | 34 | 04/17/2026 |
| 3.17.0 | 32 | 04/17/2026 |
| 3.16.1 | 32 | 04/17/2026 |
| 3.16.0 | 34 | 04/17/2026 |
| 3.15.1 | 23 | 04/17/2026 |
| 3.15.0 | 34 | 04/17/2026 |
| 3.14.0 | 21 | 04/17/2026 |
| 3.13.1 | 33 | 04/17/2026 |
| 3.13.0 | 33 | 04/17/2026 |
| 3.12.0 | 35 | 04/17/2026 |
| 3.11.0 | 34 | 04/17/2026 |
| 3.10.0 | 33 | 04/17/2026 |
| 3.9.0 | 31 | 04/17/2026 |
| 3.8.1 | 33 | 04/17/2026 |
| 3.8.0 | 29 | 04/17/2026 |
| 3.7.0 | 33 | 04/17/2026 |
| 3.6.3 | 25 | 04/17/2026 |
| 3.6.2 | 36 | 04/17/2026 |
| 3.6.1 | 24 | 04/17/2026 |
| 3.6.0 | 34 | 04/17/2026 |
| 3.5.0 | 32 | 04/17/2026 |
| 3.4.0 | 34 | 04/17/2026 |
| 3.3.3 | 31 | 04/17/2026 |
| 3.3.2 | 32 | 04/17/2026 |
| 3.3.1 | 33 | 04/17/2026 |
| 3.3.0 | 35 | 04/17/2026 |
| 3.2.4 | 30 | 04/17/2026 |
| 3.2.3 | 32 | 04/17/2026 |
| 3.2.2 | 36 | 04/17/2026 |
| 3.2.1 | 33 | 04/17/2026 |
| 3.2.0 | 33 | 04/17/2026 |
| 3.1.0 | 25 | 04/17/2026 |
| 3.0.7 | 32 | 04/17/2026 |
| 3.0.6 | 34 | 04/17/2026 |
| 3.0.5 | 32 | 04/17/2026 |
| 3.0.4 | 32 | 04/17/2026 |
| 3.0.3 | 23 | 04/17/2026 |
| 3.0.2 | 35 | 04/17/2026 |
| 3.0.1 | 33 | 04/17/2026 |
| 3.0.0 | 34 | 04/17/2026 |
| 3.0.0-beta1 | 35 | 04/17/2026 |