|
|
|
|
@ -1869,17 +1869,20 @@ XXL-JOB日志主要包含如下两部分,均支持日志自动清理,说明
|
|
|
|
|
支持通过 Docker Compose 方式部署并启动 XXL-JOB,包括:数据库、调度中心、示例执行器。
|
|
|
|
|
|
|
|
|
|
- 第一步:克隆 XXL-JOB
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
git clone --branch "$(curl -s https://api.github.com/repos/xuxueli/xxl-job/releases/latest | jq -r .tag_name)" https://github.com/xuxueli/xxl-job.git
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
- 第二步:构建 XXL-JOB
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
// 注意:如下命令需要在项目仓库根目录执行
|
|
|
|
|
mvn clean package -Dmaven.test.skip=true
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
- 第三步:配置 XXL-JOB
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
// 注意:前往docker目录,自定义 .env 配置;如修改 MYSQL_PATH 配置设置Mysql数据持久化目录;
|
|
|
|
|
cd ./docker
|
|
|
|
|
@ -1887,6 +1890,7 @@ cat .env
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
- 第四步:启动 XXL-JOB
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
// 启动
|
|
|
|
|
docker compose up -d
|
|
|
|
|
@ -2138,7 +2142,7 @@ Header:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 七、版本更新日志
|
|
|
|
|
### 7.1 版本 V1.1.x,新特性[2015-12-05]
|
|
|
|
|
### 7.1 版本 V1.1.x Release Notes[2015-12-05]
|
|
|
|
|
**【于V1.1.x版本,XXL-JOB正式应用于我司,内部定制别名为 “Ferrari”,新接入应用推荐使用最新版本】**
|
|
|
|
|
- 1、简单:支持通过Web页面对任务进行CRUD操作,操作简单,一分钟上手;
|
|
|
|
|
- 2、动态:支持动态修改任务状态,动态暂停/恢复任务,即时生效;
|
|
|
|
|
@ -2149,7 +2153,7 @@ Header:
|
|
|
|
|
- 7、支持自定义参数;
|
|
|
|
|
- 8、支持远程任务执行终止;
|
|
|
|
|
|
|
|
|
|
### 7.2 版本 V1.2.x,新特性[2016-01-17]
|
|
|
|
|
### 7.2 版本 V1.2.x Release Notes[2016-01-17]
|
|
|
|
|
- 1、支持任务分组;
|
|
|
|
|
- 2、支持“本地任务”、“远程任务”;
|
|
|
|
|
- 3、底层通讯支持两种方式,Servlet方式 + JETTY方式;
|
|
|
|
|
@ -2169,7 +2173,7 @@ Header:
|
|
|
|
|
- 稳定性;
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 7.3 版本 V1.3.0,新特性[2016-05-19]
|
|
|
|
|
### 7.3 版本 V1.3.0 Release Notes[2016-05-19]
|
|
|
|
|
- 1、遗弃“本地任务”模式,推荐使用“远程任务”,易于系统解耦,任务对应的JobHandler统称为“执行器”;
|
|
|
|
|
- 2、遗弃“servlet”方式底层系统通讯,推荐使用JETTY方式,调度+回调双向通讯,重构通讯逻辑;
|
|
|
|
|
- 3、UI交互优化:左侧菜单展开状态优化,菜单项选中状态优化,任务列表打开表格有压缩优化;
|
|
|
|
|
@ -2179,7 +2183,7 @@ Header:
|
|
|
|
|
- BEAN模式执行器:每个执行器都是Spring的一个Bean实例,XXL-JOB通过注解@JobHandler识别和调度执行器;
|
|
|
|
|
- GLUE模式执行器:每个执行器对应一段代码,在线Web编辑和维护,动态编译生效,执行器负责加载GLUE代码和执行;
|
|
|
|
|
|
|
|
|
|
### 7.4 版本 V1.3.1,新特性[2016-05-23]
|
|
|
|
|
### 7.4 版本 V1.3.1 Release Notes[2016-05-23]
|
|
|
|
|
- 1、更新项目目录结构:
|
|
|
|
|
```
|
|
|
|
|
- /xxl-job-admin -------------------- 【调度中心】:负责管理调度信息,按照调度配置发出调度请求;
|
|
|
|
|
@ -2191,12 +2195,12 @@ Header:
|
|
|
|
|
- 2、在新的目录结构上,升级了用户手册;
|
|
|
|
|
- 3、优化了一些交互和UI;
|
|
|
|
|
|
|
|
|
|
### 7.5 版本 V1.3.2,新特性[2016-05-28]
|
|
|
|
|
### 7.5 版本 V1.3.2 Release Notes[2016-05-28]
|
|
|
|
|
- 1、调度逻辑进行事务包裹;
|
|
|
|
|
- 2、执行器异步回调执行日志;
|
|
|
|
|
- 3、【重要】在 “调度中心” 支持HA的基础上,扩展执行器的Failover支持,支持配置多执行期地址;
|
|
|
|
|
|
|
|
|
|
### 7.6 版本 V1.4.0 新特性[2016-07-24]
|
|
|
|
|
### 7.6 版本 V1.4.0 Release Notes[2016-07-24]
|
|
|
|
|
- 1、任务依赖: 通过事件触发方式实现, 任务执行成功并回调时会主动触发一次子任务的调度, 多个子任务用逗号分隔;
|
|
|
|
|
- 2、执行器底层实现代码进行重度重构, 优化底层建表脚本;
|
|
|
|
|
- 3、执行器中任务线程分组逻辑优化: 之前根据执行器JobHandler进行线程分组,当多个任务复用Jobhanlder会导致相互阻塞。现改为根据调度中心任务进行任务线程分组,任务与任务执行相互隔离;
|
|
|
|
|
@ -2215,7 +2219,7 @@ Header:
|
|
|
|
|
|
|
|
|
|
Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段, 地址见分支 [V1.3](https://github.com/xuxueli/xxl-job/tree/v1.3) 。新特性将会在master分支持续更新。
|
|
|
|
|
|
|
|
|
|
### 7.7 版本 V1.4.1 新特性[2016-09-06]
|
|
|
|
|
### 7.7 版本 V1.4.1 Release Notes[2016-09-06]
|
|
|
|
|
- 1、项目成功推送maven中央仓库, 中央仓库地址以及依赖如下:
|
|
|
|
|
```
|
|
|
|
|
<!-- http://repo1.maven.org/maven2/com/xuxueli/xxl-job-core/ -->
|
|
|
|
|
@ -2233,14 +2237,14 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
|
|
|
|
|
- 7、底层表结构,表明统一大写;
|
|
|
|
|
- 8、调度中心,异常处理器JSON响应的ContentType修改,修复浏览器不识别的问题;
|
|
|
|
|
|
|
|
|
|
### 7.8 版本 V1.4.2 新特性[2016-09-29]
|
|
|
|
|
### 7.8 版本 V1.4.2 Release Notes[2016-09-29]
|
|
|
|
|
- 1、推送新版本 V1.4.2 至中央仓库, 大版本 V1.4 进入维护阶段;
|
|
|
|
|
- 2、任务新增时,任务列表偏移问题修复;
|
|
|
|
|
- 3、修复一处因bootstrap不支持模态框重叠而导致的样式错乱的问题, 在任务编辑时会出现该问题;
|
|
|
|
|
- 4、调度超时和Handler匹配不到时,调度状态优化;
|
|
|
|
|
- 5、因catch异常,导致任务不可终止的问题,给出解决方案, 见文档;
|
|
|
|
|
|
|
|
|
|
### 7.9 版本 V1.5.0 特性[2016-11-13]
|
|
|
|
|
### 7.9 版本 V1.5.0 Release Notes[2016-11-13]
|
|
|
|
|
- 1、任务注册: 执行器会周期性自动注册任务, 调度中心将会自动发现注册的任务并触发执行。
|
|
|
|
|
- 2、"执行器" 新增参数 "AppName" : 是每个执行器集群的唯一标示AppName, 并周期性以AppName为对象进行自动注册。
|
|
|
|
|
- 3、调度中心新增栏目 "执行器管理" : 管理在线的执行器, 通过属性AppName自动发现注册的执行器。只有被管理的执行器才允许被使用;
|
|
|
|
|
@ -2250,14 +2254,14 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
|
|
|
|
|
- 7、表结构调整,底层重构优化;
|
|
|
|
|
- 8、"调度中心"自动注册和发现,failover: 调度中心周期性自动注册, 任务回调时可以感知在线的所有调度中心地址, 通过failover的方式进行任务回调,避免回调单点风险。
|
|
|
|
|
|
|
|
|
|
### 7.10 版本 V1.5.1 特性[2016-11-13]
|
|
|
|
|
### 7.10 版本 V1.5.1 Release Notes[2016-11-13]
|
|
|
|
|
- 1、底层代码重构和逻辑优化,POM清理以及CleanCode;
|
|
|
|
|
- 2、Servlet/JSP Spec设定为3.0/2.2
|
|
|
|
|
- 3、Spring升级至3.2.17.RELEASE版本;
|
|
|
|
|
- 4、Jetty升级版本至8.2.0.v20160908;
|
|
|
|
|
- 5、已推送V1.5.0和V1.5.1至Maven中央仓库;
|
|
|
|
|
|
|
|
|
|
### 7.11 版本 V1.5.2 特性[2017-02-28]
|
|
|
|
|
### 7.11 版本 V1.5.2 Release Notes[2017-02-28]
|
|
|
|
|
- 1、IP工具类获取IP逻辑优化,IP静态缓存;
|
|
|
|
|
- 2、执行器、调度中心,均支持自定义注册IP地址;解决机器多网卡时错误网卡注册的情况;
|
|
|
|
|
- 3、任务跨天执行时生成多份日志文件的问题修复;
|
|
|
|
|
@ -2267,7 +2271,7 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
|
|
|
|
|
- 7、底层代码重构和逻辑优化以及CleanCode;
|
|
|
|
|
- 8、GLUE依赖注入逻辑优化,支持别名注入;
|
|
|
|
|
|
|
|
|
|
### 7.12 版本 V1.6.0 特性[2017-03-13]
|
|
|
|
|
### 7.12 版本 V1.6.0 Release Notes[2017-03-13]
|
|
|
|
|
- 1、通讯方案升级,原基于HEX的通讯模型调整为基于HTTP的B-RPC的通讯模型;
|
|
|
|
|
- 2、执行器支持手动设置执行地址列表,提供开关切换使用注册地址还是手动设置的地址;
|
|
|
|
|
- 3、执行器路由规则:第一个、最后一个、轮询、随机、一致性HASH、最不经常使用、最近最久未使用、故障转移;
|
|
|
|
|
@ -2278,20 +2282,20 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
|
|
|
|
|
- 8、新建任务默认为非运行状态;
|
|
|
|
|
- 9、GLUE模式任务实例更新逻辑优化,原根据超时时间更新改为根据版本号更新,源码变动版本号加一;
|
|
|
|
|
|
|
|
|
|
### 7.13 版本 V1.6.1 特性[2017-03-25]
|
|
|
|
|
### 7.13 版本 V1.6.1 Release Notes[2017-03-25]
|
|
|
|
|
- 1、Rolling日志;
|
|
|
|
|
- 2、WebIDE交互重构;
|
|
|
|
|
- 3、通讯增强校验,有效过滤非正常请求;
|
|
|
|
|
- 4、权限增强校验,采用动态登录TOKEN(推荐接入内部SSO);
|
|
|
|
|
- 5、数据库配置优化,解决乱码问题;
|
|
|
|
|
|
|
|
|
|
### 7.14 版本 V1.6.2 特性[2017-04-25]
|
|
|
|
|
### 7.14 版本 V1.6.2 Release Notes[2017-04-25]
|
|
|
|
|
- 1、运行报表:支持实时查看运行数据,如任务数量、调度次数、执行器数量等;以及调度报表,如调度日期分布图,调度成功分布图等;
|
|
|
|
|
- 2、JobHandler支持设置任务返回值,在任务逻辑中可以方便的控制任务执行结果;
|
|
|
|
|
- 3、资源路径包含空格或中文时资源文件无法加载时,无法准确查看异常信息的问题处理。
|
|
|
|
|
- 4、路由策越优化:循环和LFU路由策略计数器自增无上限问题和首次路由压力集中在首台机器的问题修复;
|
|
|
|
|
|
|
|
|
|
### 7.15 版本 V1.7.0 特性[2017-05-02]
|
|
|
|
|
### 7.15 版本 V1.7.0 Release Notes[2017-05-02]
|
|
|
|
|
- 1、脚本任务:支持以GLUE模式开发和运行脚本任务,包括Shell、Python和Groovy等类型脚本;
|
|
|
|
|
- 2、新增spring-boot类型执行器example项目;
|
|
|
|
|
- 3、升级jetty版本至9.2;
|
|
|
|
|
@ -2299,7 +2303,7 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
|
|
|
|
|
- 5、执行器移除GlueLoader依赖,改为推送方式实现,从而GLUE源码加载不再依赖JDBC;
|
|
|
|
|
- 6、登录拦截Redirect时获取项目名,解决非根据目录发布时跳转404问题;
|
|
|
|
|
|
|
|
|
|
### 7.16 版本 V1.7.1 特性[2017-05-08]
|
|
|
|
|
### 7.16 版本 V1.7.1 Release Notes[2017-05-08]
|
|
|
|
|
- 1、运行日志读写编码统一为UTF-8,解决windows环境下日志乱码问题;
|
|
|
|
|
- 2、通讯超时时间限定为10s,避免异常情况下调度线程占用;
|
|
|
|
|
- 3、执行器,server启动、销毁和注册逻辑调整;
|
|
|
|
|
@ -2309,7 +2313,7 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
|
|
|
|
|
- 7、弹框组件统一替换为layer;
|
|
|
|
|
- 8、升级quartz版本至2.3.0;
|
|
|
|
|
|
|
|
|
|
### 7.17 版本 V1.7.2 特性[2017-05-17]
|
|
|
|
|
### 7.17 版本 V1.7.2 Release Notes[2017-05-17]
|
|
|
|
|
- 1、阻塞处理策略:调度过于密集执行器来不及处理时的处理策略,策略包括:单机串行(默认)、丢弃后续调度、覆盖之前调度;
|
|
|
|
|
- 2、失败处理策略;调度失败时的处理策略,策略包括:失败告警(默认)、失败重试;
|
|
|
|
|
- 3、通讯时间戳超时时间调整为180s;
|
|
|
|
|
@ -2317,7 +2321,7 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
|
|
|
|
|
- 5、执行参数编辑时丢失问题修复;
|
|
|
|
|
- 6、新增任务测试Demo,方便在开发时进行任务逻辑测试;
|
|
|
|
|
|
|
|
|
|
### 7.18 版本 V1.8.0 特性[2017-07-17]
|
|
|
|
|
### 7.18 版本 V1.8.0 Release Notes[2017-07-17]
|
|
|
|
|
- 1、任务Cron更新逻辑优化,改为rescheduleJob,同时防止cron重复设置;
|
|
|
|
|
- 2、API回调服务失败状态码优化,方便问题排查;
|
|
|
|
|
- 3、XxlJobLogger的日志多参数支持;
|
|
|
|
|
@ -2330,7 +2334,7 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
|
|
|
|
|
- 10、执行日志,支持根据运行 "状态" 筛选日志;
|
|
|
|
|
- 11、调度中心任务注册检测逻辑优化;
|
|
|
|
|
|
|
|
|
|
### 7.19 版本 V1.8.1 特性[2017-07-30]
|
|
|
|
|
### 7.19 版本 V1.8.1 Release Notes[2017-07-30]
|
|
|
|
|
- 1、分片广播任务:执行器集群部署时,任务路由策略选择"分片广播"情况下,一次任务调度将会广播触发集群中所有执行器执行一次任务,可根据分片参数处理分片任务;
|
|
|
|
|
- 2、动态分片:分片广播任务以执行器为维度进行分片,支持动态扩容执行器集群从而动态增加分片数量,协同进行业务处理;在进行大数据量业务操作时可显著提升任务处理能力和速度。
|
|
|
|
|
- 3、执行器JobHandler禁止命名冲突;
|
|
|
|
|
@ -2343,7 +2347,7 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
|
|
|
|
|
- 10、springboot版本执行器,升级至1.5.6.RELEASE版本;
|
|
|
|
|
- 11、统一maven依赖版本管理;
|
|
|
|
|
|
|
|
|
|
### 7.20 版本 V1.8.2 特性[2017-09-04]
|
|
|
|
|
### 7.20 版本 V1.8.2 Release Notes[2017-09-04]
|
|
|
|
|
- 1、项目主页搭建:提供中英文文档:https://www.xuxueli.com/xxl-job
|
|
|
|
|
- 2、JFinal执行器Sample示例项目;
|
|
|
|
|
- 3、事件触发:除了"Cron方式"和"任务依赖方式"触发任务执行之外,支持基于事件的触发任务方式。调度中心提供触发任务单次执行的API服务,可根据业务事件灵活触发。
|
|
|
|
|
@ -2355,7 +2359,7 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
|
|
|
|
|
- 9、调度中心任务监控线程销毁时,批量对失败任务告警,防止告警信息丢失;
|
|
|
|
|
- 10、任务日志文件路径时间戳格式化时SimpleDateFormat并发问题解决;
|
|
|
|
|
|
|
|
|
|
### 7.21 版本 V1.9.0 特性[2017-12-29]
|
|
|
|
|
### 7.21 版本 V1.9.0 Release Notes[2017-12-29]
|
|
|
|
|
- 1、新增Nutz执行器Sample示例项目;
|
|
|
|
|
- 2、新增任务运行模式 "GLUE模式(NodeJS) ",支持NodeJS脚本任务;
|
|
|
|
|
- 3、脚本任务Shell、Python和Nodejs等支持获取分片参数;
|
|
|
|
|
@ -2388,7 +2392,7 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
|
|
|
|
|
- 30、任务列表新增筛选条件 "任务描述",快速检索任务;
|
|
|
|
|
- 31、执行器Log文件定期清理功能:执行器新增配置项("xxl.job.executor.logretentiondays")日志保存天数,日志文件过期自动删除。
|
|
|
|
|
|
|
|
|
|
### 7.22 版本 V1.9.1 特性[2018-02-22]
|
|
|
|
|
### 7.22 版本 V1.9.1 Release Notes[2018-02-22]
|
|
|
|
|
- 1、国际化:调度中心实现国际化,支持中文、英文两种语言,默认为中文。
|
|
|
|
|
- 2、调度报表新增"运行中"中状态项;
|
|
|
|
|
- 3、调度报表优化,报表SQL调优并且新增LocalCache缓存(缓存时间60s),提高大数据量下报表加载速度;
|
|
|
|
|
@ -2398,7 +2402,7 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
|
|
|
|
|
- 7、修复脚本任务Log文件未正常close的问题;
|
|
|
|
|
- 8、项目依赖全量升级至较新稳定版本,如spring、jackson等等;
|
|
|
|
|
|
|
|
|
|
### 7.23 版本 V1.9.2 特性[2018-10-05]
|
|
|
|
|
### 7.23 版本 V1.9.2 Release Notes[2018-10-05]
|
|
|
|
|
- 1、任务超时控制:新增任务属性 "任务超时时间",并支持自定义,任务运行超时将会主动中断任务;
|
|
|
|
|
- 2、任务失败重试次数:新增任务属性 "失败重试次数",并支持自定义,当任务失败时将会按照预设的失败重试次数主动进行重试;同时收敛废弃其他失败重试策略,如调度失败、执行失败、状态码失败等;
|
|
|
|
|
- 3、新增任务运行模式 "GLUE模式(PHP) ",支持php脚本任务;
|
|
|
|
|
|