找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

268

积分

0

好友

34

主题
发表于 昨天 23:36 | 查看: 1| 回复: 0

Release Notes

  • 新增:执行器新增“任务扫描排除路径”配置项(xxl.job.executor.excludedpackage),任务扫描时忽略指定包路径下的任务。
  • 优化:执行器任务Bean扫描逻辑调整,优化懒加载Bean检测及过滤机制,避免提前初始化类问题。
  • 新增:合并PR-3840,执行器支持通过XxlJobHelper获取任务触发时间戳。同时,该组件功能得到完善,支持通过XxlJobHelper.getLogId/getLogDateTime/getLogFileName方法获取执行日志相关信息。
  • 升级:调度中心UI框架升级,统一交互组件,支持多主题、多标签与局部渲染等,升级了UI组件及性能。
  • 优化:调度时间轮组件强化,保障不重不漏。具体包括:调度时间轮单刻度数据去重,避免极端情况下任务重复执行;时间轮转动时校验临近刻度,避免极端情况下遗漏刻度。
  • 优化:调度任务锁逻辑优化,事务SQL下沉至Mapper层统一管理,并增加测试用例,提升代码可读性以及可维护性。
  • 优化:调度快慢线程池默认配置上调,提升默认配置单机负载;调度预读任务数计算系数下调,降低事务颗粒度,提升性能及稳定性。
  • 性能:调度中心调整资源加载逻辑,移除不必要的拦截器,提升页面加载性能。
  • 优化:优化日志列表页面展示逻辑,新增展示“日志ID”与“任务名称”信息。
  • 优化:报表统计SQL优化,修复小概率情况下查询null值问题;报表初始化SQL优化,修复小概率情况增改竞争问题。
  • 优化:优化日志报告与清理逻辑,增加清理过期日志的异常捕获,避免线程异常退出。
  • 优化:任务回调失败日志读写磁盘逻辑优化,解决极端情况下大文件读写内存问题。
  • 升级:Http通讯组件升级,基于接口代理方式重构通讯组件,提升组件性能及扩展性。
  • 重构:规范API交互协议,通用响应结构体调整为Response,调度中心API统一为Response封装数据。

    注意:响应结构体从ReturnT升级为Response,其中属性值content会调整为data,通过openapi交互的场景需要关注此变更。

  • 重构:调度过期策略、调度类型策略逻辑重构,代码组件化拆分并完善日志,提升健壮性及可维护性。
  • 重构:调度中心底层组件重构,组件初始化以及销毁逻辑统一处理,任务触发及回调逻辑优化,避免资源泄漏风险。
  • 重构:调度中心底层组件模块化拆分,移除组件单例以及静态代码逻辑,提升组件可维护性。
  • 重构:重构Rolling日志读写逻辑,解决边界条件下异常情况,优化读写性能。
  • 修复:脚本任务process销毁逻辑优化,解决风险情况下脚本进程无法终止问题。
  • 修复:合并PR-2369,修复脚本任务参数取值问题。
  • 新增:新增任务审计日志功能,用于记录任务操作敏感日志信息,如任务新建/更新/删除/启停/触发以及GLUE代码更新等。此功能可用于系统监控、审计和安全分析,帮助快速追溯异常行为以及定位排查问题。

    当前任务审计日志以Info级别输出在系统日志中,可通过关键词 “xxl-job operation log:” 检索过滤。

  • 强化:通用HTTP任务(httpJobHandler)功能强化,支持更丰富请求参数设置,完整参数示例请参考官方文档。
  • 优化:调度组件日志完善,提升边界情况下问题定位效率。
  • 升级:升级多项maven依赖至较新版本,如 netty、groovy、springboot、spring-ai、dify、mybatis、xxl-sso 等。

备注:

  • a、本次升级数据模型向前兼容,v3.2.*版本可直接升级,无需进行数据库表结构调整。
  • b、本次升级针对客户端rollinglog依赖字段做了规范约束。若不关注该功能,v2.4.* 及后续版本的客户端无需升级(可兼容);否则需要升级客户端版本。

“AI任务”使用示例

此处以 difyWorkflowJobHandler 为例,注意需要前置部署AI执行器(xxl-job-executor-sample-ai),具体操作可参考官方文档。

步骤一:在调度中心,新建一个类型为 difyWorkflowJobHandler 的任务。

图片

步骤二:任务执行后,可查看任务进度及执行日志。

图片


“常规任务”使用示例

XXL-JOB支持多种任务模式,下文以最常用的“Bean模式任务”为例,介绍如何三步快速开发接入。作为一款优秀的分布式任务调度中间件,其接入流程非常简洁。

步骤一:在执行器项目中,开发一个Job方法。

@XxlJob("demoJobHandler")
public void demoJobHandler() {
    XxlJobHelper.log("XXL-JOB, Hello World.");
}

步骤二:在调度中心管理页面,新建一个调度任务。

图片

步骤三:任务触发执行后,查看任务进度及运行日志。

图片


平台简介

XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开源,并被多家公司接入线上产品线,开箱即用。对于需要统一管理后台定时任务的Java技术栈团队而言,它是一个非常高效的选择。

图片


核心特性

  1. 简单易用:支持通过Web页面对任务进行CRUD操作,操作简单,一分钟即可上手。
  2. 动态控制:支持动态修改任务状态、启动/停止任务,以及终止运行中任务,变更即时生效。
  3. 调度中心HA(中心式):调度采用中心式设计,“调度中心”自研调度组件并支持集群部署,保证调度中心高可用。
  4. 执行器HA(分布式):任务分布式执行,任务“执行器”支持集群部署,保证任务执行高可用。
  5. 智能注册:执行器周期性自动注册任务,调度中心自动发现并触发。同时支持手动录入执行器地址。
  6. 弹性扩容:一旦有新的执行器上线或下线,下次调度时将自动重新分配任务,实现弹性扩缩容。
  7. 丰富的触发策略:提供Cron触发、固定间隔触发、固定延时触发、API(事件)触发、人工触发、父子任务触发等多种方式。
  8. 完备的运维策略:包括调度过期补偿策略(忽略、立即补偿等)、阻塞处理策略(单机串行、丢弃后续调度、覆盖之前调度)以及任务超时控制。
  9. AI任务集成:原生提供AI执行器,并内置多个AI任务Handler,与spring-ai、ollama、dify等集成打通,支持快速开发AI类任务。
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区(YunPan.Plus) ( 苏ICP备2022046150号-2 )

GMT+8, 2025-12-3 14:20 , Processed in 1.098031 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 CloudStack.

快速回复 返回顶部 返回列表