分布式任务调度系统 xxl-job新版本V1.4.0更新内容:
1、任务依赖: 通过事件触发方式实现, 任务执行成功并回调时会主动触发一次子任务的调度;
2、执行器底层实现代码进行重度重构, 优化底层建表脚本;
3、执行器中任务线程分组逻辑优化: 之前根据执行器JobHandler进行线程分组,当多个任务复用Jobhanlder会导致相互阻塞。现改为根据调度中心任务进行任务线程分组,任务与任务执行相互隔离;
4、执行器调度通讯方案优化, 通过Hex + HC实现建议RPC通讯协议, 优化了通讯参数的维护和解析流程;
5、调度中心, 新建/编辑任务, 界面属性调整:
5.1、任务新增/编辑界面中去除 "任务名JobName"属性 ,该属性改为系统自动生成: 该字段之前主要用于在 "调度中心" 唯一标示一个任务, 现实意义不大, 因此计划淡化掉该字段,改为系统生成UUID,从而简化任务新建的操作;
5.2、任务新增/编辑界面中去除 "GLUE模式" 复选框位置调整, 改为贴近"JobHandler"输入框右侧;
5.3、任务新增/编辑界面中去除 "报警阈值" 属性;
5.4、任务新增/编辑界面中去除 "子任务Key" 属性, 每个任务全局任务Key可以从任务列表获取, 当本任务执行结束且成功后, 将会根据子任务Key匹配子任务并主动触发一次子任务执行;
6、问题修复:
6.1、执行器jetty关闭优化,解决一处可能导致jetty无法关闭的问题;
6.2、执行器任务终止时,执行队列回调优化,解决一处导致任务无法回调的问题;
6.3、调度中心中列表分页参数优化,解决一处因服务器限制post长度而引起的问题;
6.4、执行器Jobhandler注解优化,解决一处因事务代理导致的容器无法加载JobHandler的问题;
6.5、远程调度优化,禁用retry策略,解决一处可能导致重复调用的问题;
Tips: 历史版本(V1.3.x)目前已经Release至稳定版本,进入维护阶段,地址见分支 [V1.3] 。新特性将会在master分支持续更新。
特性:
1、简单:支持通过Web页面对任务进行CRUD操作,操作简单,一分钟上手;
2、动态:支持动态修改任务状态、暂停/恢复任务,以及终止运行中任务,即时生效;
3、调度HA:“调度中心”基于集群Quartz实现,可保证调度中心HA;
4、任务HA:任务支持多地址配置,可保证任务执行HA;
5、任务Failover:多地址配置时,调度失败时将会平滑切换执行器进行Failover;
6、一致性:“调度中心”通过DB锁保证集群分布式调度的一致性;
7、自定义任务参数:支持在线配置调度任务入参,即时生效;
8、调度线程池:调度系统多线程触发调度运行,确保调度精确执行,不被堵塞;
9、执行日志:支持在线查看调度结果,并且查看完整的执行日志;
10、邮件报警:任务失败时支持邮件报警,支持配置多邮件地址群发报警邮件;
11、支持登录验证;
12、GLUE:提供Web IDE,支持在线开发任务逻辑代码,动态发布,实时编译生效,省略部署上线的过程。支持30个版本的历史版本回溯。
12、数据加密:调度中心和执行器之间的通讯进行数据加密,提升调度信息安全性;
14、任务依赖:支持配置子任务依赖,当父任务执行结束且执行成功后将会主动触发一次子任务的执行, 多个子任务用逗号分隔;
接入情况:
至今,XXL-JOB已接入多家公司的线上产品线,接入场景如电商业务,O2O业务和大数据作业等,截止2016-07-19为止,XXL-JOB已接入的公司包括不限于:
1、大众点评;
2、山东学而网络科技有限公司;
3、安徽慧通互联科技有限公司;
4、人人聚财金服;
5、上海棠棣信息科技股份有限公司
6、运满满
7、米其林(中国区)
8、妈妈联盟
……
欢迎大家的关注和使用,XXL-JOB也将拥抱变化,持续发展。
下载:
源码地址 (将会在两个git仓库同步发布最新代码)
github地址:https://github.com/xuxueli/xxl-job
git.osc地址:http://git.oschina.net/xuxueli0323/xxl-job
博客地址
oschina地址:http://my.oschina.net/xuxueli/blog/690978
cnblogs地址:http://www.cnblogs.com/xuxueli/p/5021979.html
csdn地址:http://blog.csdn.net/xuxueli0323/article/details/51674330
引用来自“sphsyv”的评论
是在quartz基础上修改的?会持续更新么?与spring结合怎么样?引用来自“雪里说”的评论
XXL-JOB分为三大模块,其中调度中心模块集成了quartz并扩展其他必备属性,详细可参考文档,不排除之后选用其他调度组件。产品一直在维护更新,技术交流群很活跃。与spring完美结合,推荐你获取源码部署试用一下,如果你基础还不错,十分钟可以上手,非常方便。引用来自“sphsyv”的评论
嗯。我们一直使用quartz做定时任务,由于需要分布式部署,除了quartz目前没有看到其他开源软件支持,我会先拉取源码试试看,有监控功能不需要自己写了,这点十分不错。引用来自“sphsyv”的评论
是在quartz基础上修改的?会持续更新么?与spring结合怎么样?引用来自“雪里说”的评论
XXL-JOB分为三大模块,其中调度中心模块集成了quartz并扩展其他必备属性,详细可参考文档,不排除之后选用其他调度组件。产品一直在维护更新,技术交流群很活跃。与spring完美结合,推荐你获取源码部署试用一下,如果你基础还不错,十分钟可以上手,非常方便。引用来自“sphsyv”的评论
是在quartz基础上修改的?会持续更新么?与spring结合怎么样?引用来自“liango”的评论
关注引用来自“圊國圊國”的评论
支持~