11小节:开发XXL-Job执行推送定时任务
作者:程序员马丁
热门项目实战社群,收获国内众多知名公司面试青睐,近千名同学面试成功!助力你在校招或社招上拿个offer。
开发XXL-Job定时任务执行分发数据,元数据信息:
- 什么是牛券oneCoupon:https://t.zsxq.com/pAWgS
- 代码仓库:https://gitcode.net/nageoffer/onecoupon —— 申请项目权限参考上述牛券项目链接
- 章节难度:★★★☆☆ - 较难
- 视频地址:文档先行视频次之
©版权所有 - 拿个offer-开源&项目实战星球专属学习项目,依据《中华人民共和国著作权法实施条例》和《知识星球产权保护》,严禁未经本项目原作者明确书面授权擅自分享至 GitHub、Gitee 等任何开放平台。违者将面临法律追究。
内容摘要:在本章节我们使用 XXL-Job 来实现定时任务的执行和分发,重点涉及到 XXL-Job 的安装、配置以及在实际业务场景中的应用。然后在 Spring Boot 项目中引入 XXL-Job 的依赖并配置相应的 Spring Bean,从而实现了定时执行优惠券分发任务的功能。
课程目录如下所示:
- 业务背景
- Git 分支
- 什么是 XXL-Job
- 安装 XXL-Job
- 配置 XXL-Job 执行器
- 开发定时执行优惠券分发任务
- SpringBoot 条件注解解耦 XXL-Job
- 文末总结
业务背景
优惠券分发任务分为两种类型:立即执行和定时执行。对于立即执行的任务,我们直接通过消息队列触发发送流程;而定时执行的任务则由定时任务监控系统扫描,找到到达执行时间的任务,然后通过 XXL-Job 分布式定时框架进行处理。
Git 分支
20240825_dev_coupon-task-timing_xxl-job_ding.ma
什么是 XXL-Job
XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、 轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。
- XXL-Job GitHub 地址:https://github.com/xuxueli/xxl-job
- 官方网站:https://www.xuxueli.com/xxl-job
XXL-Job 2.4.0 架构图如下所示:
安装 XXL-Job
考虑到使用 Docker 安装可能会涉及 Mac 英特尔和 ARM 芯片的区别,为了避免复杂性扩散,所以我们这里仅使用最为原始且高效的方式,拉取源代码构建的方式启动。
1. IDEA 下载 XXL-Job 源代码
通过 Git SSH 的方式拉取 XXL-Job 源代码仓库,SSH 地址:git@github.com:xuxueli/xxl-job.git
我们从 master 分支切换到截止目前 2024.08.25 日最新的发版分支 2.4.1 版本。