# diboot-scheduler 使用说明
# 1、引入依赖
Maven
<dependency>
<groupId>com.diboot</groupId>
<artifactId>diboot-scheduler-spring-boot-starter</artifactId>
<version>{latestVersion}</version>
</dependency>
1
2
3
4
5
2
3
4
5
或Gradle:
compile("com.diboot:diboot-scheduler-spring-boot-starter:{latestVersion}")
1
组件依赖的数据表schedule_job、schedule_job_log,在组件starter初次启动时将自动初始化。
如果使用diboot-devtools,还可一键生成该组件相关的controller等基础代码到本地项目下。
# 2、参数配置:
diboot-scheduler组件有以下配置项,用于初始化设置 配置参数:
# 是否初始化sql,默认true,初始化之后(或非开发环境)可以关闭
diboot.component.scheduler.init-sql=false
# 其他spring quertz starter相关的参数按spring的文档配置
# spring.quartz.xxx
1
2
3
4
5
2
3
4
5
# 3. 使用说明
# 3.1 新增定时任务
- 定义你的定时任务Job类,继承quartz的QuartzJobBean
- 添加@CollectThisJob注解,声明Job名称、参数、以及默认的定时cron,以便组件自动收集Job信息供前端选择。
@DisallowConcurrentExecution
@CollectThisJob(name = "我的定时任务", paramJson = "{\"daysBefore\":30}", cron = "* * 1 * * ?")
public class MyJob extends QuartzJobBean {
@Override
protected void executeInternal(JobExecutionContext jobExecutionContext) throws JobExecutionException {
// 获取参数
JobDataMap jobDataMap = jobExecutionContext.getJobDetail().getJobDataMap();
int days = 30;
if(jobDataMap.containsKey("daysBefore")){
days = jobDataMap.getInt("daysBefore");
}
//TODO 执行定时任务
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
- 前端"定时任务管理"功能中,配置该定时任务调度作业。
使用过程中遇到问题,可加群交流。