XXL-JOB的使用教程
实际工作中任务的幂等性
一个任务10分钟就已经执行完成,10分钟之后就需要kill掉这个资源,停止掉这个任务
任务终止不能手动全部使用try catch进行处理,对于线程终止的异常,我们需要抛出去
上面的这个代码才是正确的
执行分布式任务的时候一定要注意任务的幂等性,任务异常退出之后,第二次进来之前执行过的任务,不会在重新执行
每10秒钟执行一次定时任务
视频来自博客:https://www.bilibili.com/video/BV1sX4y1K7ys?p=12
XXL-JOB高可用的方案
定时任务的集群的功能:一个任务部署了3个节点,调度中心如何对任务进行调度了
第一个:选择第一个注册到调度中心的节点来执行任务
最后一个:选择最后一个注册到调度中心的节点来执行任务
轮询:定时任务每隔5秒执行一次,调度中心第一选择第一个节点执行,5秒之后选择第二个节点来执行
故障转移:第一个节点在执行的过程中失败了,第一个节点进程挂了,调度中心选择第二个节点来执行
忙碌转移:第一个节点在执行任务的过程中,如果执行的过程中第一个节点的线程池资源已经被全部使用完成了,调度中心会迁移到第二个节点来执行
分片广播:分片广播的目的是提高任务的执行效率,调度中心让三个节点同时执行分片任务。一个完成的任务是从数据库中查询出前去3000条数据,同一时间
第一个节点查询前1000条数据,第二个接触查询前1000到2000条数据,第三个节点查询前2000到3000条数据,并行执行提高效率
这个任务调度中心每隔2秒会调度执行一次
这里任务的阻塞处理策略:列如一个定时任务2秒被调动中心调度一次,但是任务的业务执行需要5秒,第二个调度的时候,业务的5秒还没有执行完成,这个时候
单机串行:表示等第一个任务执行完成之后,在执行第二次被调度的任务,任务每隔2秒会被调度执行会造成大量的任务被阻塞
丢弃后续调度:如果现在还有任务没有执行完成,后续调度的任务被直接丢弃
覆盖之前调度:把当前正在执行的任务终止,执行新的任务
子任务ID表示只有当前的任务执行完成之后,才会去执行这里填写的子任务,这里填写子任务ID就可以了,调度中心在当前的任务执行完成之后会自动的去执行子任务ID
任务超时时间:表示一个任务在执行的过程中超过了超时时间,调动中心会终止该任务
posted on 2021-01-25 15:50 luzhouxiaoshuai 阅读(2104) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
2018-01-25 数组排序(选择排序和冒泡排序)
2018-01-25 java面试必备知识点-上中下三篇写的很详细
2018-01-25 java中“”==“” equals hashcode的关系