[TOC]
任务调度
项目配置
spring boot 应用配置:
server.port=7888
nacos.config.server-addr=192.168.200.17:20002
配置中心添加以下配置:
# admin 地址
xxl.job.admin.addresses=http://192.168.200.17:20001/xxl-job
# 应用名
xxl.job.executor.appname=job-test
# 端口
xxl.job.executor.port=9999
# 日志保留天数
xxl.job.executor.logretentiondays=30
编码:配置 xxl-job
创建一个 configuration 类,其返回执行器实例:
@Configuration
public class XxlJobConfig {
private static final Logger logger = LoggerFactory.getLogger(XxlJobConfig.class);
@NacosValue(value = "${xxl.job.admin.addresses}", autoRefreshed = true)
String adminAddresses;
@NacosValue(value = "${xxl.job.executor.appname}", autoRefreshed = true)
String appName;
@NacosValue(value = "${xxl.job.executor.port}", autoRefreshed = true)
int port;
@NacosValue(value = "${xxl.job.executor.logretentiondays}", autoRefreshed = true)
int daysCount;
@Bean
public XxlJobSpringExecutor xxlJobExecutor() {
logger.info(">>>>>>>>>>> xxl-job config init.");
XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor();
xxlJobSpringExecutor.setAdminAddresses(adminAddresses);
xxlJobSpringExecutor.setAppname(appName);
xxlJobSpringExecutor.setPort(port);
xxlJobSpringExecutor.setLogRetentionDays(daysCount);
return xxlJobSpringExecutor;
}
}
main:
@SpringBootApplication
@NacosPropertySource(dataId = "job_test", groupId = "demo")
public class JobtestApplication {
public static void main(String[] args) {
SpringApplication.run(JobtestApplication.class, args);
}
}
创建任务
java GLUE 模式
先运行 job-executor,日志输出如下表示执行器启动成功:
添加执行器:
添加完执行器后,需要验证执行器是否已注册,有两种方法:
在“执行器管理”界面,可以查看 online 机器:
执行器运行日志中,会输出注册成功的日志:
新增 glue 任务:
点击该任务的 GLUE_IDE 按钮,进入代码编辑器,可以看到默认代码功能为输出 XXL-JOB, Hello World.
:
编辑完成后,在任务管理中启动这个定时任务:
之后可在调度日志面板查看任务执行日志:
bean 模式(@XxlJob
注解形式)
新增 JobTest
类,添加以下代码:
@Component
public class JobTest {
private static final Logger logger = LoggerFactory.getLogger(JobTest.class);
@XxlJob(value = "jobHandler01")
public ReturnT<String> jobHandler01(String param) {
XxlJobLogger.log("Hi xxl-job!");
logger.info("job execute success.");
return ReturnT.SUCCESS;
}
}
在任务管理面板添加 jobHandler01
这个 bean 形式的任务:
重启 Java 应用,并在任务管理面板启动刚才新增的任务,job-executor 控制台输出如下:
可在管理面板的调度日志-执行日志中,查看 xxl-job 输出日志:
运行报表
在运行报表面板,可以查看报表: