Appearance
定时任务
固定间隔、或固定时间执行的一段程序
如果只需要定时任务,可以使用本地磁盘定时任务
培训视频
控制变量
仅在启动定时任务,且不为多租户,并系统编码不为空时,定时任务才生效
yml
# 是否启动定时任务 true/false
config.IsAutoQuartzJob
# 是否多租户 true/false
config.MultiTenancy
# 系统编码 string
ztgis.systemCode
数据库配置模式
数据库表
表 | 表名 | 备注 |
---|---|---|
BASE_TIMETASK | 定时任务 | 定时任务配置详情 |
BASE_TIMETASKLOG | 定时任务日志 | 定时任务调用的日志详情 |
管理页面
如果操作涉及非当前服务的定时任务,需要手动重启该服务
台账页面
调度日志页面
新增编辑页面
本地磁盘模式
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" //系统编码过滤
}
日志收集
数据内容与数据库模式日志保持一致
代码实现部分
代码模块
服务启动
服务启动时,自动从数据库、本地磁盘中加载定时任务
调度管理
调用执行
不同点,gis-boot 每一个定时任务都是一个 Job,ztgis-boot 每一个定时任务都是 TimeJob 的一个实例
调用接口、存储过程
post 接口示例
注意项
系统编码
需要同时在application.yml及定时任务中配置
当系统编码配置修改时,对应服务重新启动问题
- application.yml:
系统编码为空时:所有的定时器均 不 运行;
系统编码非空时:只运行权限列的定时任务(定时任务系统编码中配置)
- 定时任务配置管理:
系统编码为空时:所有的服务均 不 运行
系统编码非空时:application.yml 中系统编码被包含可运行
corn 表达式
存在问题
多服务同库运行的开启关闭需运维编辑人员操作