zoukankan      html  css  js  c++  java
  • 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

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

  • 相关阅读:
    WinAPI: GetClassName
    Delphi 常用API 函数
    DELPHI加密字串(异或运算加密)
    delphi中获得进程列表或想要的进程(枚举进程、遍历进程)
    如何把窗体关闭到系统托盘
    让窗体接受拖放, 并获取拖过来的文件信息
    如何获取图片中第一个像素的颜色值?
    android 使用get和post将数据提交到服务器
    android 简单的读写联系人
    android ContentObserver内容观察者基本使用
  • 原文地址:https://www.cnblogs.com/kebibuluan/p/14325612.html
Copyright © 2011-2022 走看看