当前位置: 首页 > wzjs >正文

黄山网站建设哪家好企业网站建设专业精准丨 鸣远科技

黄山网站建设哪家好,企业网站建设专业精准丨 鸣远科技,模板网页制作,劳务派遣公司注册条件定时任务调度平台XXL-JOB 一、什么是 XXL-JOB?二、手把手环境搭建(Windows版)1. 安装基础软件2. 部署调度中心(可视化后台) 三、创建你的第一个定时任务1. 新建 Spring Boot 项目2. 添加 XXL-JOB 依赖3. 配置执行器4. …

定时任务调度平台XXL-JOB

      • 一、什么是 XXL-JOB?
      • 二、手把手环境搭建(Windows版)
        • 1. 安装基础软件
        • 2. 部署调度中心(可视化后台)
      • 三、创建你的第一个定时任务
        • 1. 新建 Spring Boot 项目
        • 2. 添加 XXL-JOB 依赖
        • 3. 配置执行器
        • 4. Java 配置类
        • 5. 编写定时任务
      • 四、在调度中心配置任务
      • 五、查看运行结果
      • 六、核心概念详解
        • 1. 调度流程
        • 2. 路由策略
        • 3. 任务参数传递
      • 七、常见问题解决
        • 1. 执行器未注册
        • 2. 任务未触发
        • 3. 日志不显示
      • 八、真实场景案例
        • 1. 数据库数据同步
        • 2. 文件清理任务


一、什么是 XXL-JOB?

想象你有一个需要每天凌晨3点自动执行的任务(比如数据统计),传统做法是写个定时任务。但如果有以下需求:

  • 多台服务器同时运行任务
  • 任务失败自动重试
  • 实时查看任务执行日志
  • 动态调整执行时间

XXL-JOB 就是为解决这些问题而生的任务调度平台。它分为两部分:

  1. 调度中心(管理后台):负责定时触发任务,像指挥中心
  2. 执行器(你的程序):实际干活的代码,像工人

二、手把手环境搭建(Windows版)

1. 安装基础软件
  1. JDK 1.8
    • 验证安装:命令行输入 java -version
  2. MySQL 5.7+
    • 创建数据库:CREATE DATABASE xxl_job;
  3. Maven 3.2+
    • 验证安装:命令行输入 mvn -v
2. 部署调度中心(可视化后台)
  1. 下载源码:

    git clone https://gitee.com/xuxueli0323/xxl-job.git
    
  2. 导入数据库:

    • 找到文件 /xxl-job/doc/db/tables_xxl_job.sql
    • 用 MySQL 客户端执行这个SQL文件
  3. 修改数据库配置:
    打开文件 /xxl-job/xxl-job-admin/src/main/resources/application.properties

    # 修改这三行配置
    spring.datasource.url=jdbc:mysql://localhost:3306/xxl_job?useUnicode=true
    spring.datasource.username=你的MySQL账号
    spring.datasource.password=你的MySQL密码
    
  4. 启动调度中心:

    • 用 IDEA/Eclipse 打开项目
    • 运行 XxlJobAdminApplication
    • 访问 http://localhost:8080/xxl-job-admin
    • 登录账号:admin/123456

三、创建你的第一个定时任务

1. 新建 Spring Boot 项目

使用 Spring Initializr 创建项目,选择:

  • Maven
  • Java 8
  • Spring Boot 2.x
  • 依赖:Web
2. 添加 XXL-JOB 依赖

pom.xml 中添加:

<dependency><groupId>com.xuxueli</groupId><artifactId>xxl-job-core</artifactId><version>2.4.0</version>
</dependency>
3. 配置执行器

application.yml 中配置:

xxl:job:admin:addresses: http://localhost:8080/xxl-job-admin  # 调度中心地址executor:appname: my-first-executor  # 执行器名称(重要!)port: 9999  # 执行器端口accessToken:  # 留空(生产环境需要)

accessToken:开发环境可以设置为空,生产环境需要设置

4. Java 配置类

创建 XxlJobConfig.java

@Configuration
public class XxlJobConfig {@Value("${xxl.job.admin.addresses}")private String adminAddresses;@Beanpublic XxlJobSpringExecutor xxlJobExecutor() {XxlJobSpringExecutor executor = new XxlJobSpringExecutor();executor.setAdminAddresses(adminAddresses);executor.setAppname("my-first-executor");executor.setPort(9999);return executor;}
}
5. 编写定时任务

创建 DemoJob.java

@Component
public class DemoJob {// 使用 @XxlJob 注解定义任务@XxlJob("myDemoJob")public void myJobHandler() throws Exception {// 获取任务参数(在调度中心配置)String param = XxlJobHelper.getJobParam();XxlJobHelper.log("任务开始执行,参数:" + param);// 模拟业务逻辑for (int i = 1; i <= 5; i++) {XxlJobHelper.log("正在处理第 " + i + " 步");Thread.sleep(1000); // 模拟耗时操作}// 任务完成XxlJobHelper.handleSuccess("任务执行成功!");}
}

四、在调度中心配置任务

  1. 添加执行器

    • 登录调度中心
    • 进入「执行器管理」
    • 点击「新增」
    • 填写:
      AppName: my-first-executor(必须与配置文件中的appname一致)
      名称: 我的第一个执行器
      注册方式: 自动注册
      
  2. 创建任务

    • 进入「任务管理」
    • 点击「新建」
    • 填写:
      任务描述:我的演示任务
      JobHandler:myDemoJob(必须与@XxlJob注解的值一致)
      Cron:0/10 * * * * ?  (每10秒执行一次)
      运行模式:BEAN
      路由策略:第一个
      
  3. 启动任务

    • 在任务列表中找到新建的任务
    • 点击「操作」列的「启动」按钮

五、查看运行结果

  1. 控制台日志

    • 在你的 Spring Boot 应用控制台查看输出
  2. 调度中心日志

    • 进入「调度日志」
    • 点击「执行日志」查看详细记录
  3. 执行效果

    2023-10-01 15:30:00 [XXL-JOB] 任务开始执行,参数:testParam
    2023-10-01 15:30:00 [XXL-JOB] 正在处理第 1 步
    2023-10-01 15:30:01 [XXL-JOB] 正在处理第 2 步
    ...
    2023-10-01 15:30:04 [XXL-JOB] 任务执行成功!
    

六、核心概念详解

1. 调度流程
调度中心 执行器 触发任务 注册心跳 上报日志 调度中心 执行器
2. 路由策略
策略名称说明
第一个选择第一个在线执行器
轮询依次选择不同执行器
随机随机选择执行器
分片广播所有执行器同时执行
3. 任务参数传递
// 调度中心配置参数
@XxlJob("paramDemo")
public void paramJob() {String param = XxlJobHelper.getJobParam(); // 获取参数XxlJobHelper.log("收到参数:" + param);
}

七、常见问题解决

1. 执行器未注册
  • 检查点:
    • 执行器的 appname 是否与调度中心配置一致
    • 网络是否连通(telnet 调度中心地址 8080)
    • 执行器是否成功启动
2. 任务未触发
  • 检查点:
    • Cron 表达式是否正确(可用在线工具验证)
    • 任务是否处于「运行中」状态
    • 调度中心的服务器时间是否准确
3. 日志不显示
  • 检查点:
    • 执行器配置的 logpath 是否有写入权限
    • 查看本地日志文件 /data/applogs/xxl-job/jobhandler

八、真实场景案例

1. 数据库数据同步
@XxlJob("syncUserData")
public void syncUserData() {// 1. 从源数据库读取数据List<User> users = sourceUserMapper.selectList();// 2. 处理数据List<User> processedUsers = processData(users);// 3. 写入目标数据库targetUserMapper.batchInsert(processedUsers);XxlJobHelper.handleSuccess("同步完成,共处理 " + processedUsers.size() + " 条数据");
}
2. 文件清理任务
@XxlJob("cleanTempFiles")
public void cleanFiles() {File tempDir = new File("/tmp/uploads");File[] files = tempDir.listFiles();int count = 0;if (files != null) {for (File file : files) {if (file.lastModified() < System.currentTimeMillis() - 24*60*60*1000) {file.delete();count++;}}}XxlJobHelper.handleSuccess("已清理 " + count + " 个过期文件");
}

遇到问题时,多查看:

  • 执行器本地日志
  • 调度中心的「调度日志」
  • XXL-JOB 官方文档(https://www.xuxueli.com/xxl-job/)

在这里插入图片描述


文章转载自:

http://LZmhCPCg.LLgpk.cn
http://yZ3GE0zK.LLgpk.cn
http://NkQItkzX.LLgpk.cn
http://icYso68U.LLgpk.cn
http://BIbS3ZiN.LLgpk.cn
http://vNZS2bvR.LLgpk.cn
http://4gVSIMOJ.LLgpk.cn
http://sZBppcuk.LLgpk.cn
http://DHfLHaIi.LLgpk.cn
http://TcigBywc.LLgpk.cn
http://1mDPDb8R.LLgpk.cn
http://PloXrwfO.LLgpk.cn
http://6u0pkpA1.LLgpk.cn
http://cLs4n55F.LLgpk.cn
http://a8dSLmJk.LLgpk.cn
http://oo4UbHEA.LLgpk.cn
http://fIIK2Fi0.LLgpk.cn
http://s6VXrbpT.LLgpk.cn
http://8B5Yy6Gj.LLgpk.cn
http://NXDxpaKE.LLgpk.cn
http://Tt1BjJWv.LLgpk.cn
http://fJNqUB5i.LLgpk.cn
http://Qn8DX6uD.LLgpk.cn
http://Tm3c4GUR.LLgpk.cn
http://ySXgYbRj.LLgpk.cn
http://60pDyfDK.LLgpk.cn
http://MyE0JYq1.LLgpk.cn
http://31wWrBVT.LLgpk.cn
http://TB0P7jKi.LLgpk.cn
http://edK4Pd5K.LLgpk.cn
http://www.dtcms.com/wzjs/737408.html

相关文章:

  • 网站维护服务内容淘宝客api调用到网站
  • 做5173这样的网站要多少人微信公众号怎么推广和引流
  • 如何写网站优化目标免费注册网站云空间
  • 境内境外网站区别企业宣传
  • 北京南站在哪个街道网站建设的几个阶段
  • 如何在交易网站做电子印章济南网站建设就选搜点网络ok
  • 建筑设计招标网站湖南响应式网站哪家好
  • 导航网站怎么做湖北百度seo厂家
  • 别人的网站是怎么找到的合肥电信网站备案
  • 成都门户网站建设网站开发团队成员介绍
  • 重庆綦江网站制作公司电话求职简历模板2021
  • 微信订阅号怎么做网站网站建设尽量
  • 常州网站制作公司多吗了解深圳网站页面设计
  • 富阳网站建设报价dw建设网站的代码模板下载
  • 石家庄做网站好的公司推荐目前流行的app网站开发模式
  • 优化推广网站推荐wordpress 支付方式
  • 优秀网站设计推荐网站制作策划建设大纲
  • 电子商务网站建设期末试题及答案安徽圣力建设集团网站
  • 优质的网站网页登录
  • 二手车网站模板建设专门做瑜伽的网站
  • 深圳软件开发公司推荐wordpress 内存优化
  • 上海网站推广排名贵阳网站建设 网站制作
  • 页面模板微信优化网站哪家好
  • 彩虹网站建设最近国内重大新闻事件
  • 那个网站做玉石最专业wordpress 多站点错误
  • 做可转债好的网站专业网站建设服务
  • 江苏高校品牌专业建设工程网站房地产网信息
  • 网站开发能从事那些职业ol游戏大全排行榜
  • 网站文件名格式有那些可以自己做壁纸的网站
  • wordpress站点很慢网站建设什么公司专业