苏州创建网站,wordpress商业插件,推广一般给多少钱,百度seo教程视频一、部署xxl-job服务端
下载xxl-job源码
下载地址#xff1a; https://gitee.com/xuxueli0323/xxl-job
二、导入项目、创建xxl_job数据库、修改配置文件为自己的数据库 三、启动项目、访问首页
访问地址#xff1a; http://localhost:8080/xxl-job-admin/ 账号#xff1…一、部署xxl-job服务端
下载xxl-job源码
下载地址 https://gitee.com/xuxueli0323/xxl-job
二、导入项目、创建xxl_job数据库、修改配置文件为自己的数据库 三、启动项目、访问首页
访问地址 http://localhost:8080/xxl-job-admin/ 账号admin 密码123456 执行器管理
我们部署的是调度器管理平台执行器就是我们实际开发的应用系统比如会员系统、订单系统、结算系统等等执行器管理可以对每一个注册上来的执行器进行管理编辑、删除执行器等 任务管理
我们应用系统都会有自己特定的job任务比如会员系统定时拉取一些会员推送模板消息、短信消息结算系统定时生成结算任务、报表等。任务管理可根据具体的执行器、job任务名称JobHandler、任务描述等进行筛选可新增任务、启动任务、执行任务、查询调度日志功能比较丰富。 用户管理
用户管理可根据角色普通用户、管理员进行管理新增用户、删除用户
调度日志
在调度日志模块可查询我们执行任务时的具体情况可根据具体的执行器、任务名称、执行状态进行筛选成功、失败、进行中对于进行中的任务可手动终止调度备注列可查看调度详情比如我们的任务被调度到哪一台机器、调度的结果码、结果信息等等。 运行报表
运行报表是对调度平台中执行器数、任务数、调度次数、调度明细成功、失败数据的汇总统计。 四、新建结算系统执行器【仅仅是个demo案例】
看到此处想必大家心中对xxl-job已经有了一些初步的了解和感受摩拳擦掌趁热打铁下面我们新建一个结算系统应用注册到调度平台并新建一个月结任务测试下吧。
引入xxl-job调度器依赖
dependencygroupIdcom.xuxueli/groupIdartifactIdxxl-job-core/artifactIdversion2.3.1/version
/dependency
application.properties配置文件新增xxl-job配置
#xxljob config
#调度器地址
xxl.job.admin.addresses http://127.0.0.1:8080/xxl-job-admin
#鉴权用暂无
xxl.job.accessToken
#执行器名称就是我们的业务系统
xxl.job.executor.appname settle-system
#执行器地址和ipdemo案例无需填写
xxl.job.executor.address
xxl.job.executor.ip
#执行器端口默认值9999
xxl.job.executor.port 9999
#日志路径
xxl.job.executor.logpath D:\\tmp\\log
#日志清理时间
xxl.job.executor.logretentiondays 30
执行器配置类(XxlJobConfig.java)
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.beans.factory.annotation.Value;
import com.xxl.job.core.executor.impl.XxlJobSpringExecutor;
import org.springframework.context.annotation.Configuration;Configuration
public class XxlJobConfig {private Logger logger LoggerFactory.getLogger(XxlJobConfig.class);Value(${xxl.job.admin.addresses})private String adminAddresses;Value(${xxl.job.accessToken})private String accessToken;Value(${xxl.job.executor.appname})private String appname;Value(${xxl.job.executor.address})private String address;Value(${xxl.job.executor.ip})private String ip;Value(${xxl.job.executor.port})private int port;Value(${xxl.job.executor.logpath})private String logPath;Value(${xxl.job.executor.logretentiondays})private int logRetentionDays;Beanpublic XxlJobSpringExecutor xxlJobExecutor() {logger.info( xxl-job config init.);XxlJobSpringExecutor xxlJobSpringExecutor new XxlJobSpringExecutor();xxlJobSpringExecutor.setAdminAddresses(adminAddresses);xxlJobSpringExecutor.setAppname(appname);xxlJobSpringExecutor.setAddress(address);xxlJobSpringExecutor.setIp(ip);xxlJobSpringExecutor.setPort(port);xxlJobSpringExecutor.setAccessToken(accessToken);xxlJobSpringExecutor.setLogPath(logPath);xxlJobSpringExecutor.setLogRetentionDays(logRetentionDays);return xxlJobSpringExecutor;}
编写结算系统-月结job任务( MonthlySettlementJobHandler.java)
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import com.xxl.job.core.handler.annotation.XxlJob;Component
public class MonthlySettlementJobHandler {private static Logger logger LoggerFactory.getLogger(MonthlySettlementJobHandler.class);// 使用XxlJob注解将monthlySettlementJobHandler任务注册到调度平台XxlJob(monthlySettlementJobHandler)public void monthlySettlementJobHandler(String param) throws InterruptedException {try {logger.info(结算系统-月结任务执行 参数: {}, param);} catch (Exception e) {logger.error(结算系统-月结任务执行 异常 参数: {} 异常信息: , param, e);}}
}
结算系统执行器代码编写完毕启动成功后就需要去调度器管理平台新建我们的执行器、以及我们的job任务了。
在调度平台新建结算系统执行器
AppName对应我们的配置xxl.job.executor.appname settle-system
名称根据实际情况填写结算系统
注册方式选择自动注册就可以了结算系统在启动的时候会自动向调度平台注册
机器地址注册方式选择手动录入时才需要填写此处我们无需填写
新建完毕之后在列表页面具体的执行器了点击OnLine 机器地址可查看执行器的ip和端口 在调度平台新建结算系统调度任务
执行器选择结算系统
任务描述结算系统-月结任务
负责人根据实际情况填写
报警邮件根据实际情况填写
调度类型选择CRON
Cron填写Cron表达式0 0 3 * * ? 每日凌晨3.00执行一次
运行模式Bean
JobHandler就是我们编写的月结job任务代码中XxlJob注解指定的名称 monthlySettlementJobHandler
任务参数根据实际情况填写此demo案例没有使用参数
路由策略策略较多此处我们选择第一个
子任务ID暂未
调度过期策略忽略
阻塞处理策略根据实际情况填写此处我们选择单机串行
任务超时时间单位秒根据实际情况填写此处是3秒
失败重试次数根据实际情况填写此处我们选择不重试0 执行结算系统-月结任务
点击操作--》执行一次--》根据实际情况填写job参数--》机器地址无需填写 执行后去结算系统查看日志会有相应业务日志输出 再回到调度平台点击操作--》查询日志--》可看到调度时间、调度结果等等 四、总结
从调度平台部署、到业务应用系统(结算系统)对接调度平台、编写月结job任务总体流程大家应该都比较清晰了是不是觉得还挺简单的