直接跳到内容
本页目录

作者:吴迪迪
更新于:4/12/2023

定时计划

系统提供了两种运行方案:

  1. 单机运行,此种方式利用 Spring 框架实现,无任何第三方依赖。
  2. xxl-job,需要额外部署 xxl-job 管理平台,适合集群部署。

注解

@AbScheduled

任务调度方法标记

属性

  • jobKey:任务标识,全局唯一

开始使用

单机运行

引入依赖

程序启动入口模块

<dependency>
    <groupId>com.dstz</groupId>
    <artifactId>ab-component-crontab</artifactId>
    <version>${project.version}</version>
</dependency>

启用调度

application.yml

ab:
  schedule:
    enable: true

页面配置

菜单路径: 系统 > 定时计划

执行器类型-注解

INFO

任务标识关联的注解@AbScheduled属性jobKey

执行器类型-Bean

INFO

  • bean id:spring 容器 BeanId
  • method name: 被调度对象方法
执行器-Groovy

INFO

执行器编写的脚本为 Groovy

xxl-job

程序启动入口模块引入依赖

<dependency>
        <groupId>com.dstz</groupId>
        <artifactId>ab-component-xxljob</artifactId>
        <version>${project.version}</version>
</dependency>

配置属性

配置文件:application.yml

  • xxljob.admin-addresses

调度中心部署跟地址 [选填]:如调度中心集群部署存在多个地址则用逗号分隔。执行器将会使用该地址进行"执行器心跳注册"和"任务结果回调";为空则关闭自动注册;

  • xxljob.admin-addresses.access-token

执行器通讯 TOKEN [选填]:非空时启用;

  • xxljob.app-name

执行器 AppName [选填]:执行器心跳注册分组依据;为空则关闭自动注册

  • xxljob.executor-address

执行器注册 [选填]:优先使用该配置作为注册地址,为空时使用内嵌服务 ”IP:PORT“ 作为注册地址。从而更灵活的支持容器类型执行器动态 IP 和动态映射端口问题。

  • xxljob.executor-ip

执行器 IP [选填]:默认为空表示自动获取 IP,多网卡时可手动设置指定 IP,该 IP 不会绑定 Host 仅作为通讯实用;地址信息用于 "执行器注册" 和 "调度中心请求并触发任务";

  • xxljob.executor-port

执行器端口号 [选填]:小于等于 0 则自动获取;默认端口为 9999,单机部署多个执行器时,注意要配置不同执行器端口;

  • xxljob.executor-log-path

执行器运行日志文件存储磁盘路径 [选填] :需要对该路径拥有读写权限;为空则使用默认路径;

  • xxljob.executor-log-retention-days

执行器日志文件保存天数 [选填] : 过期日志自动清理, 限制值大于等于 3 时生效; 否则, 如-1, 关闭自动清理功能;

页面配置

添加执行器

添加任务

WARNING

使用注解@AbScheduled标记的方法,jobKey 对应图中 JobHandler

定时计划 has loaded