ApiBoot - ApiBoot Quartz 使用文档

  内部集成了,提供了、的进行任务的存储,其中方式提供了,任务自动平滑切换执行节点。

  在配置文件内添加,如下配置:

  备注:如果使用的内存方式,仅需要添加上面的依赖即可。参数名称是否必填默认值描述否memory任务存储源方式,默认内存方式否scheduler调度器名称否true初始化后是否自动启动调度程序否0初始化完成后启动调度程序的延迟。否false是否等待正在运行的作业在关闭时完成。否false配置的作业是否应覆盖现有的作业定义。否 Quartz自定义的配置属性,具体参考quartz配置否 配置数据库方式的Jdbc相关配置

  在使用内存方式存储任务时,不需要做配置调整。

  需要在配置文件内修改参数,如下所示:

  Quartz所需表结构

  的数据库方式内部通过获取数据库连接对象来进行操作数据,所操作数据表的表结构是固定的,把所支持的所有表结构都进行了整理,访问Quartz支持数据库建表语句列表查看,复制执行对应数据库语句即可。

  我们只需要让新建类集成就可以完成创建一个任务类,如下简单示例:

  任务参数

  在任务执行时传递参数是必须的,提供了比较方便的传递方式,不过最终会把传递的值都会转换为类型数据。任务Key默认值

  的方法所创建的定时任务,如果在不传递参数时,会默认使用随机字符串作为以及。自定义任务开始时间

  任务开始时间可以通过方法进行设置,在不设置的情况下,任务创建完成后会立刻执行。Cron 表达式任务

  创建类型任务如下所示:

  Cron 表达式任务由类进行构建。

  上面的任务类将会每隔执行一次。Loop 重复任务

  循环任务,当在不传递重复执行次数时,不进行重复执行,仅仅执行一次,如下所示:

  Loop 任务由类进行构建。

  上面的定时任务将会重复执行,连上自身执行的一次也就是会执行,每次的间隔时间为,在任务创建后进行执行。Once 一次性任务

  一次性任务,任务执行一次会就会被自动释放,如下所示:

  Once 任务由类进行构建。

  在参数传递时可以是对象、集合,不过需要进行转换成字符串才可以进行使用。

  任务在执行过程中可以进行暂停操作,通过提供的方法就可以很简单的实现,当然暂停时需要传递,可以从创建任务方法返回值获得。

  暂停任务如下所示:

  任务执行完暂停后,如果想要恢复可以使用如下方式:

  修改表达式的场景如下:已创建 & 未执行已创建 & 已执行

  修改方法如下所示:

  想要手动释放任务时可以使用如下方式:

  删除任务的顺序如下:暂停触发器移除触发器删除任务

  本章源码地址:https://github.com/hengboy/api-boot/tree/master/api-boot-samples/api-boot-sample-quartz

  ApiBoot 开源交流群