当前位置: 首页 > news >正文

XXL-JOB调度中心、执行器、Job之间的关系

一、调度中心

职责

  • 管理所有 Job 的配置(CRON 表达式、路由策略等)

  • 触发任务调度(基于 Quartz)

  • 监控执行状态和日志

  • 管理执行器集群

二、执行器

职责

  • 注册到调度中心(心跳机制)

  • 接收调度指令

  • 加载并执行具体 Job

  • 返回执行结果和日志

三、Job

职责

  • 实现 XxlJob 接口或使用注解

  • 执行业务代码(如对账、报表生成)

  • 返回执行结果

三者协作流程:

1、任务注册(启动时)

执行器在启动时会向调度中心发送注册请求,包含执行器的标识信息(如名称、IP 地址、端口等)。这个过程确保调度中心能够识别和管理所有可用的执行器。

2、任务触发(调度时)

调度中心根据设定的调度策略使用 RESTful API 将任务信息分发给指定的执行器。请求中包含任务 ID、执行参数和调度时间等信息。

3、任务执行

执行器根据接收到的任务信息,调用用户定义的任务处理JobHandler(如 Java 方法、Python 脚本等),开始执行任务。

4、结果反馈

执行器在完成任务执行后,通过 RESTful API 将执行结果(如成功、失败、执行时间、日志等)回调给调度中心。通常是通过发送一个 POST 请求来实现的。

当Job已经注册到执行器中,执行器也会将Job的信息保存到一个JobHandler 注册表(ConcurrentHashMap),在每次执行器向调度中心发送心跳的时候,一起发送到调度中心,心跳时发送的数据示例如下:

{"appname": "wallet-service","address": "192.168.1.100:9999","jobHandlers": [    // 关键信息"walletSumDailyTransactionJob","walletCleanupJob","userSyncJob"]
}

这样调度中心就知道了,这个执行器能不能执行用户在页面上配置的任务。

注:当代码中有某个Job时,该Job注册到执行器中,执行器注册到调度中心后。只要调度中心配置了某个任务(配置执行器,选择了JobHandler、cron表达式等),调度中心就可以直接调用具体的执行器执行任务,而不需要执行器重启

http://www.dtcms.com/a/316734.html

相关文章:

  • MQTT:消息详解
  • 备忘录记事本 任务清单 html
  • 基于铁头山羊STM32的平衡车电机转速开环闭环matlab仿真
  • 线性规划最优解
  • 饿了么招java开发咯
  • tarjan找SCC,缩点建DAG,找唯一源头节点
  • 强光干扰下误报率↓82%!陌讯多模态融合算法在火焰识别的落地优化
  • 不可变集合
  • nflsoi 7.31 题解
  • 信息化项目验收,项目成功的最后确认
  • Redis中的sdshdr的len和alloc那块的知识点详解
  • 【经验记录贴】在windows系统中启动服务
  • CMU-15445(7)——PROJECT#2-BPlusTree-Task#2Task#3
  • BGA 芯片贴片加工关键注意事项
  • Fiddler 中文版实战指南,如何构建高效的 API 调试工作流?
  • 第13届蓝桥杯Scratch_选拔赛_真题2021年11月27日
  • 老旧体育场馆照明翻新:预算有限?3 步实现 “低成本升级”
  • 在具身智能火热加持下,看 2025 年机器人学术年会中的热点主题。PNP机器人展示力控、灵巧手捕捉等案例。
  • 利用链上数据进行数字资产量化因子发现
  • 计划任务:被忽视的网络与系统安全边界
  • Linux-Day10.系统安全保护web服务管理
  • 【springcloud的配置文件不生效】
  • Linux系统:基础I/O
  • 【RK3576】【Android14】Uboot下fastboot命令支持
  • 闸机控制系统从设计到实现全解析:第 4 篇:Redis 缓存与分布式锁实现
  • JavaScript 概述
  • Linux 逻辑卷管理:LVM 原理与 Stratis、VDO 特性对比
  • Vue2博客项目笔记(第一天)
  • 防御保护3-4
  • STM32CubeIDE新建项目过程记录备忘(八)使用通用定时器中断生成PWM波形