Quartz.Plugins
3.18.2
Prefix Reserved
dotnet add package Quartz.Plugins --version 3.18.2
NuGet\Install-Package Quartz.Plugins -Version 3.18.2
<PackageReference Include="Quartz.Plugins" Version="3.18.2" />
<PackageVersion Include="Quartz.Plugins" Version="3.18.2" />
<PackageReference Include="Quartz.Plugins" />
paket add Quartz.Plugins --version 3.18.2
#r "nuget: Quartz.Plugins, 3.18.2"
#:package Quartz.Plugins@3.18.2
#addin nuget:?package=Quartz.Plugins&version=3.18.2
#tool nuget:?package=Quartz.Plugins&version=3.18.2
Quartz.Plugins
Quartz.Plugins provides a set of ready-made plugins for common scheduling needs.
Installation
dotnet add package Quartz.Plugins
Included plugins
- LoggingJobHistoryPlugin / LoggingTriggerHistoryPlugin — log a history of job executions and trigger firings.
- StructuredLoggingJobHistoryPlugin / StructuredLoggingTriggerHistoryPlugin — structured-logging equivalents using named message-template parameters (Serilog, NLog, …); recommended when using structured logging sinks.
- XMLSchedulingDataProcessorPlugin / JsonSchedulingDataProcessorPlugin — load jobs and triggers from XML or JSON files, optionally re-scanning for changes.
- ShutdownHookPlugin — shuts the scheduler down when the process terminates.
- JobInterruptMonitorPlugin — interrupts jobs that run longer than a configured maximum (Quartz 3.3+).
Usage
Plugins are enabled via DI extensions or configuration keys (quartz.plugin.{name}.{property}):
services.AddQuartz(q =>
{
q.UseStructuredJobLogging();
q.UseStructuredTriggerLogging();
});
Authoring configuration extensions
When you write your own ISchedulerPlugin, you can offer the same strongly typed q.UseMyPlugin() experience as the built-in plugins. Write an extension method on IPropertyConfigurationRoot and call the UsePlugin<TPlugin>(name) helper (shipped in the core Quartz package): it sets the quartz.plugin.{name}.type property and, when configuration is backed by Microsoft DI (AddQuartz), registers the plugin into the container so it is constructed with constructor injection. Use TryRegisterSingleton<TService, TImplementation>() to register any companion services the plugin needs injected (it returns false when there is no container, e.g. plain SchedulerBuilder usage).
public static T UseMyPlugin<T>(this T configurer, Action<MyPluginOptions>? configure = null)
where T : IPropertyConfigurationRoot
{
configurer.UsePlugin<MyPlugin>("myPlugin");
configurer.TryRegisterSingleton<IMyPluginDependency, MyPluginDependency>();
configure?.Invoke(new MyPluginOptions(configurer));
return configurer;
}
Derive strongly typed options from PropertiesSetter with the plugin's property prefix; each setter maps to a quartz.plugin.{name}.{property} key applied to the plugin's public setters. The same extension method then works with both AddQuartz (constructor injection) and plain SchedulerBuilder (reflection, requires a public parameterless constructor).
Documentation
📖 Full documentation and per-plugin configuration: https://www.quartz-scheduler.net/documentation/quartz-3.x/packages/quartz-plugins.html
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 is compatible. net463 was computed. net47 was computed. net471 was computed. net472 is compatible. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.6.2
- Quartz.Jobs (>= 3.18.2)
- System.Text.Json (>= 8.0.5)
-
.NETFramework 4.7.2
- Quartz.Jobs (>= 3.18.2)
- System.Text.Json (>= 8.0.5)
-
.NETStandard 2.0
- Quartz.Jobs (>= 3.18.2)
- System.Text.Json (>= 8.0.5)
NuGet packages (29)
Showing the top 5 NuGet packages that depend on Quartz.Plugins:
| Package | Downloads |
|---|---|
|
Castle.Facilities.Quartz
Castle Windsor Quartz facility lets you easily add windsor to Quartz apps. |
|
|
Quartz.HostedService
Use .Net Core Generic Service and Quartz to Implement Background Schedule Tasks. |
|
|
Grebok.AspNet
Grebok Framework |
|
|
Excalibur.Jobs
Consolidated Excalibur job scheduling and orchestration framework. Includes abstractions, core implementations, coordination, workflows, and Quartz integration. |
|
|
Excalibur.Hosting.Jobs
Job hosting infrastructure for Excalibur applications with .NET Worker Service and Web hosting support. |
GitHub repositories (5)
Showing the top 5 popular GitHub repositories that depend on Quartz.Plugins:
| Repository | Stars |
|---|---|
|
foxminchan/BookWorm
The practical implementation of Aspire using Microservices, AI-Agents
|
|
|
withsalt/BilibiliLiveTools
Bilibili(B站)无人值守直播工具。自动登录,自动获取直播推流地址,自动推流(使用ffmpeg),可以用于电脑、树莓派等设备无人值守直播。
|
|
|
guoming/Hummingbird
分布式锁,分布式ID,分布式消息队列、配置中心、注册中心、服务注册发现、超时、重试、熔断、负载均衡
|
|
|
microsoft/Recurring-Integrations-Scheduler
Recurring Integrations Scheduler (RIS) is a solution that can be used in file-based integration scenarios for Dynamics 365 Finance and Dynamics 365 Supply Chain Management.
|
|
|
oncemi/OnceMi.Framework
基于.NET 7和Vue 2开发的企业级前后端分离权限管理开发框架(后台管理系统),具有组织管理、角色管理、用户管理、菜单管理、授权管理、计划任务、文件管理等功能。支持国内外多种流行数据库,支持IdentityServer4认证中心。
|
| Version | Downloads | Last Updated |
|---|---|---|
| 3.18.2 | 0 | 6/27/2026 |
| 3.18.1 | 56,176 | 4/25/2026 |
| 3.18.0 | 31,282 | 4/11/2026 |
| 3.17.1 | 12,566 | 4/3/2026 |
| 3.17.0 | 6,229 | 3/29/2026 |
| 3.16.1 | 40,026 | 3/4/2026 |
| 3.16.0 | 3,567 | 3/1/2026 |
| 3.15.1 | 139,299 | 10/26/2025 |
| 3.15.0 | 90,394 | 8/3/2025 |
| 3.14.0 | 337,691 | 3/8/2025 |
| 3.13.1 | 314,561 | 11/2/2024 |
| 3.13.0 | 142,351 | 8/10/2024 |
| 3.12.0 | 24,635 | 8/3/2024 |
| 3.11.0 | 91,818 | 7/7/2024 |
| 3.10.0 | 41,035 | 6/26/2024 |
| 3.9.0 | 523,632 | 5/9/2024 |
| 3.8.1 | 714,165 | 2/17/2024 |
| 3.8.0 | 567,164 | 11/18/2023 |
| 3.7.0 | 667,102 | 8/4/2023 |
| 3.6.3 | 389,816 | 6/25/2023 |