xxl-job分布式定时任务

1.启动java admin项目注册到nacos

2.启动定时任务微服务注册到定时任务中心

3.在定时任务微服务写bean

4.在http://localhost:8080/xxl-job-admin/joblog?jobId=2 任务管理添加任务的bean名字和 cron表达式

java 复制代码
//想要得到参数,使用,逗号分隔java来处理,或者使用jackson json转对象
String jobParam = XxlJobHelper.getJobParam()

5.阻塞处理策略

  1. 单机串行(默认)

调度进入单机执行器后,调度请求进入FIFO队列执行

  1. 丢弃后续调度(推荐)(丢后执行前) 调度进入单机执行器后,发现有任务执行,丢弃后到的任务
  2. 覆盖之前调度(不推荐)(丢前执行后)
    调度进入单机执行器后,发现有任务在执行丢弃执行的任务, 清空队列,然后执行后到的任务

6.怎么实现分布式任务 executor 在界面选择分片广播 ,也可以使用轮询(集群),和指定第一个个最后一个机器执行(单机)

// 分片参数

//我知道那台机器执行哪个分片,就可以实现分布式定时任务了

java 复制代码
int shardIndex = XxlJobHelper.getShardIndex();
int shardTotal = XxlJobHelper.getShardTotal();


        XxlJobHelper.log("分片参数:当前分片序号 = {}, 总分片数 = {}", shardIndex, shardTotal);

        // 业务逻辑
           for (int i = 0; i < shardTotal; i++) {
            if (i == shardIndex) {
                System.out.println("aaaa");
                XxlJobHelper.log("第 {} 片, 命中分片开始处理", i);
            } else {
                XxlJobHelper.log("第 {} 片, 忽略", i);
            }
        }
      
相关推荐
黄俊懿6 小时前
【深入理解SpringCloud微服务】Seata(AT模式)源码解析——@GlobalTransactional注解与@globalLock生效的原理
java·spring cloud·微服务·云原生·架构·系统架构·架构师
黄俊懿7 小时前
【深入理解SpringCloud微服务】Seata(AT模式)源码解析——开启全局事务
java·数据库·spring·spring cloud·微服务·架构·架构师
Wang's Blog8 小时前
RabbitMQ: 高并发外卖系统的微服务架构设计与工程实现
分布式·微服务·rabbitmq
墨香幽梦客12 小时前
合规视角的数据安全与隐私:HIPAA等法规的架构内生化实践
java·分布式·微服务
csdn_aspnet12 小时前
微服务架构
微服务·架构
毕设源码-朱学姐12 小时前
【开题答辩全过程】以 基于微服务架构的会计云学堂的设计与实现为例,包含答辩的问题和答案
微服务·云原生·架构
喵个咪13 小时前
开箱即用的 GoWind Admin|风行,企业级前后端一体中后台框架:极速搭建微服务应用
后端·微服务·go
毕设源码-郭学长16 小时前
【开题答辩全过程】以 基于微服务的网络运维管理系统设计与实现为例,包含答辩的问题和答案
运维·网络·微服务
码界奇点18 小时前
基于微服务架构的分布式量化交易系统设计与实现
分布式·微服务·架构·车载系统·毕业设计·源代码管理
Haooog18 小时前
微服务保护学习
java·学习·微服务·sentinel