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

XXL-JOB定时任务

定时任务解决方案对比

单机模式 - Spring @Scheduled

使用方式:

  1. 启动类添加注解 @EnableScheduling
  2. 定时方法添加注解 @Scheduled(cron = "0 0 2 * * ?")

集群环境问题:

  • 当用户下单成功后,后台发送短信时:
    • 集群中多个服务实例会同时触发定时任务
    • 导致重复发送短信,影响用户体验

分布式方案 - XXL-JOB

版本要求:

  • 3.x 版本:需要 JDK17
  • 2.x 及以下:支持 JDK1.8

源码获取:

  • 官网文档: https://www.xuxueli.com/xxl-job/#%E4%BA%8C%E3%80%81%E5%BF%AB%E9%80%9F%E5%85%A5%E9%97%A8
  • 源码仓库: https://gitee.com/xuxueli0323/xxl-job

源码结构

源码结构:(调度中心需要部署, xxl-job-executor-samples是给的示例项目, xxl-job-core是项目需要映入的公共依赖)
xxl-job-admin:调度中心
xxl-job-core:公共依赖
xxl-job-executor-samples:执行器Sample示例(选择合适的版本执行器,可直接使用,也可以参考其并将现有项目改造成执行器)
:xxl-job-executor-sample-springboot:Springboot版本,通过Springboot管理执行器,推荐这种方式;
:xxl-job-executor-sample-frameless:无框架版本;

部署步骤

1. 调度中心部署
  1. 执行SQL建表:/xxl-job/doc/db/tables_xxl_job.sql
  2. 修改配置:application.properties(主要是MySQL连接信息)
  3. 部署xxl-job-admin项目
  4. 访问地址: http://localhost:8080/xxl-job-admin
    • 默认账号:admin/123456
2. 执行器部署(集成到业务项目)
  1. 引入依赖:xxl-job-core
  2. 增加配置:
    • xxl-job admin address(调度中心地址)
    • xxl-job executor相关配置
  3. 增加执行器组件配置类
  4. 启动项目

配置关联:

  • 调度中心 → 执行器管理 → 新增
    • AppName 需与配置项 xxl.job.executor.appname 一致
  • 调度中心 → 任务管理 → 新增
    • 选择执行器
    • JobHandler 配置需与代码中的 @XxlJob("demoJobHandler") 名称一致
http://www.dtcms.com/a/319322.html

相关文章:

  • 如何将服务器中的Docker镜像批量导出?
  • 论文Review BALM2 | 港大MARS出品!机器人顶刊TRO | 经典激光BA续作!BALM升级版 | TODO待精读
  • 远程制作《最后生还者》中的Xsens动作捕捉技术
  • 使用SETNX实现分布式锁
  • python的web接口数据库链接封装
  • Linux---第三天---权限
  • 并发测试:你的应用扛得住“早高峰”吗?
  • python中的集合
  • uniapp vue3中使用pinia 和 pinia持久化(没有使用ts)
  • PPT漏斗图,让数据更美观!
  • 线程池创建线程
  • Mac 电脑安装 ADB 环境完整指南
  • 流程图使用规范
  • Git Status 命令深度指南:洞悉仓库状态的核心艺术
  • 专题二_滑动窗口_长度最小的子数组
  • 进程Linux
  • 打靶日记-PHPinclude-labs(一)
  • 攻防世界WEB(新手模式)2-2-upload1
  • MySQL中的DDL(一)
  • 深入理解动态规划算法
  • 数字孪生系统让汽车工厂虚实联动预测维护少停机
  • LabVIEW注册表操作
  • 图像认知与OpenCV——图像预处理4
  • python opencv 调用 海康威视工业相机(又全又细又简洁)
  • Java开发时出现的问题---架构与工程实践缺陷
  • KUKA库卡焊接机器人氩气节气设备
  • Nuclei漏洞扫描工具(除了常见漏洞还支持CMS常见漏洞Gitlab、Jira、Splunk、Elastic)
  • 解决Git提交人信息默认全局化问题:让提交人自动关联当前用户
  • sklearn study notes[3]
  • Kong vs. NGINX:从反向代理到云原生网关的全景对比