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

 任务超时时间:表示一个任务在执行的过程中超过了超时时间,调动中心会终止该任务

原文地址:https://www.cnblogs.com/kebibuluan/p/14325612.html