quartz 定时任务使用

目前 pigx 支持任务类型有以下四类:

  • Spring Bean 类型:可以将任务以 Spring Bean 的形式进行定义和管理,方便在 Spring 应用中进行集成和使用。
  • REST 类型:可以将任务封装成 REST 接口,通过 HTTP 请求来触发任务执行,适用于跨系统间的任务调度。
  • Java 类型(反射):可以将任务以 Java 类的形式进行定义和管理,通过反射机制来执行任务。
  • Jar 类型(java -jar):可以将任务打包成可执行的 Jar 文件,通过命令行方式来触发任务执行。
模块限制

Quartz 的任务必须放在 pigx-quartz 模块中才能被正确加载和识别,无法跨服务加载其他服务的类或 bean。

① Spring Bean 类型任务

Spring Bean 类型任务配置 任务配置示例
  • 新增任务,参数说明
参数说明
类型spring bean
执行路径留空
执行文件demo ,对应代码的 spring bean name
执行方法执行 bean 的指定方法名称
执行参数对应执行方法的入参
返回值要求

请注意:执行方法的返回值必须是 String, 通过相关枚举返回执行逻辑的是否成功失败

Spring Bean 任务执行示例

② Rest 调用

新增任务,如图

应用内调用

应用内调用注意 目标接口 直接对外暴露,不然 401

Rest 调用任务配置

③ jar 类型

jar 类型就是定时调用 jar -jar 执行路径 执行参数

参数说明
类型jar
执行路径服务器 jar 包所在路径
执行文件
执行方法
执行参数java -jar 执行时额外的参数
Jar 类型任务配置

④ java 类型

反射机制调用应用

参数说明
类型java
执行路径
执行文件类的全类名
执行方法目标类方法
执行参数一个 string 参数
返回值要求

请注意:执行方法的返回值必须是 String, 通过相关枚举返回执行逻辑的是否成功失败

Java 类型任务配置

核心逻辑代码

调试提示

这是Quartz调度业务逻辑的具体代码。如果出现调用失败等情况,请使DEBUG以下几个类。

核心代码类

优化参数设置

Quartz参数配置界面

Quartz 调度器提供了多种参数配置,可以根据实际业务需求进行调整,主要涉及线程池大小、任务执行超时、集群并发控制等关键参数。详细配置说明请参考:Quartz 参数详解

性能说明
  • 对于并发任务较多的场景,建议适当增加线程池大小
  • 任务执行时间较长的场景,可配置合理的超时时间
  • 当您的系统需要同时调度大量任务,或对任务执行可靠性、分布式支持有更高要求时,建议考虑使用 XXL-Job 分布式任务调度平台