Quartz 插件包

Quartz.Plugins 为您提供了一些实用的即插即用插件,以便于提高您的使用体验。

安装

您需要为使用 Quartz 的项目添加 NuGet 包引用。

Install-Package Quartz.Plugins

配置

插件可以通过依赖注入(DI)配置扩展或添加所需的配置键来配置。

配置键的格式为 quartz.plugin.{引用名称}.{属性}

查阅配置参考 了解如何为每个插件配置。

功能

LoggingJobHistoryPlugin

记录所有作业执行(及执行否决)的历史,并将条目写入配置的日志基础设施。

ShutdownHookPlugin

此插件捕获虚拟机终止事件(如按下 CTRL-C)并告知调度器关闭。

XMLSchedulingDataProcessorPlugin

该插件在调度器初始化时加载 XML 文件(s)以添加作业并用触发器安排它们,并且可以选择性地定期扫描文件是否有更改。

JobInterruptMonitorPlugin

此插件捕获作业长时间运行(超过配置的最大时间)的事件,并在启用时告诉调度器尝试中断它。

提示 需要 Quartz 3.3 或更高版本。

为了使插件监控执行超时,每个作业配置必须设置 JobInterruptMonitorPlugin.JobDataMapKeyAutoInterruptable 键的值为 true。作业还可以通过使用键 JobInterruptMonitorPlugin.JobDataMapKeyMaxRunTime 来定义自定义超时值,而非使用全局默认值。

var job = JobBuilder.Create<SlowJob>()
    .WithIdentity("slowJob")
    .UsingJobData(JobInterruptMonitorPlugin.JobDataMapKeyAutoInterruptable, true) 
    // 允许此作业仅运行五秒,覆盖默认配置
    .UsingJobData(JobInterruptMonitorPlugin.JobDataMapKeyMaxRunTime, TimeSpan.FromSeconds(5).TotalMilliseconds.ToString(CultureInfo.InvariantCulture))
    .Build();
在本文档中