Skip to content

定时任务


固定间隔、或固定时间执行的一段程序

如果只需要定时任务,可以使用本地磁盘定时任务

培训视频

控制变量

仅在启动定时任务,且不为多租户,并系统编码不为空时,定时任务才生效

yml
# 是否启动定时任务 true/false
config.IsAutoQuartzJob
# 是否多租户 true/false
config.MultiTenancy
# 系统编码 string
ztgis.systemCode

数据库配置模式

数据库表

表名备注
BASE_TIMETASK定时任务定时任务配置详情
BASE_TIMETASKLOG定时任务日志定时任务调用的日志详情

管理页面

如果操作涉及非当前服务的定时任务,需要手动重启该服务

台账页面

调度日志页面

新增编辑页面

ztgis-task1

ztgis-task3

本地磁盘模式

jar运行工作路径的jobs文件夹下,所有*.json/*.json5 文件作为定时任务配置

配置示例

配置项与数据库配置模式保持一致

json
{
  "id": "testJob3",//不可重复
  "fullName": "本地测试定时任务2", //暂无作用
  //接口模式
  "executeContent": "{\"cron\":\"0/5 * * * * ?\",\"interfaceType\":\"GET\",\"interfaceUrl\":\"http://192.168.3.105:13000/api/demo/test/job3\",\"parameter\":[],\"stored\":\"\",\"database\":\"0\",\"storedParameter\":[]}",
  "executeCycleJson": "0/5 * * * * ?", // 执行周期:参考cron
  "executeType": "1", //1 接口  2 存储过程
  "systemCode": "jh" //系统编码过滤
}

日志收集

数据内容与数据库模式日志保持一致

代码实现部分

代码模块

ztgis-system

服务启动

服务启动时,自动从数据库、本地磁盘中加载定时任务

调度管理

调用执行

不同点,gis-boot 每一个定时任务都是一个 Job,ztgis-boot 每一个定时任务都是 TimeJob 的一个实例

调用接口、存储过程

post 接口示例

注意项

系统编码

需要同时在application.yml及定时任务中配置

当系统编码配置修改时,对应服务重新启动问题

  • application.yml:

系统编码为空时:所有的定时器均 运行;

系统编码非空时:只运行权限列的定时任务(定时任务系统编码中配置)

  • 定时任务配置管理:

系统编码为空时:所有的服务均 运行

系统编码非空时:application.yml 中系统编码被包含可运行

corn 表达式

参考

存在问题

多服务同库运行的开启关闭需运维编辑人员操作