# 《分布式任务调度平台XXL-JOB》
## 一、简介
#### 1.1 概述
XXL-JOB是一个轻量级分布式任务调度框架,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。
#### 1.2 特性
- 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个版本的历史版本回溯。
- 13、数据加密:调度中心和执行器之间的通讯进行数据加密,提升调度信息安全性;
- 14、任务依赖:支持配置子任务依赖,当父任务执行结束且执行成功后将会主动触发一次子任务的执行, 多个子任务用逗号分隔;
- 15、推送maven中央仓库: 将会把最新稳定版推送到maven中央仓库, 方便用户接入和使用;
- 16、任务注册: 执行器会周期性自动注册任务, 调度中心将会自动发现注册的任务并触发执行。同时,也支持手动录入执行器地址;
- 17、路由策略:执行器集群部署时提供丰富的路由策略,包括:第一个、最后一个、轮询、随机、一致性HASH、最不经常使用、最近最久未使用、故障转移;
- 18、Rolling日志:支持以Rolling方式实时查看执行器输出的日志信息,实时监控任务进度;
#### 1.3 发展
于2015年中,我在github上创建XXL-JOB项目仓库并提交第一个commit,随之进行系统结构设计,UI选型,交互设计……
于2015-11月,XXL-JOB终于REALEASE了第一个大版本V1.0, 随后我将之发布到OSCHINA,XXL-JOB在OSCHINA上获得了@红薯的热门推荐,同期分别达到了OSCHINA的“热门动弹”排行第一和git.oschina的开源软件月热度排行第一,在此特别感谢红薯,感谢大家的关注和支持。
于2015-12月,我将XXL-JOB发表到我司内部知识库,并且得到内部同事认可。
于2016-01月我司展开XXL-JOB的内部接入和定制工作,在此感谢袁某和尹某两位同事的贡献,同时也感谢内部其他给与关注与支持的同事。
**我司大众点评目前已接入XXL-JOB,内部别名《Ferrari》(Ferrari基于XXL-JOB的V1.1版本定制而成,新接入应用推荐升级最新版本)**。据最新统计, 自2016-01-21接入至2017-02-07期间,该系统已调度约30万次,表现优异。新接入应用推荐使用最新版本,因为经过数个大版本的更新,系统的任务模型、UI交互模型以及底层调度通讯模型都有了较大的优化和提升,核心功能更加稳定高效。
至今,XXL-JOB已接入多家公司的线上产品线,接入场景如电商业务,O2O业务和大数据作业等,截止2016-07-19为止,XXL-JOB已接入的公司包括不限于:
- 1、大众点评;
- 2、山东学而网络科技有限公司;
- 3、安徽慧通互联科技有限公司;
- 4、人人聚财金服;
- 5、上海棠棣信息科技股份有限公司
- 6、运满满
- 7、米其林 (中国区)
- 8、妈妈联盟
- 9、九樱天下(北京)信息技术有限公司
- 10、万普拉斯科技有限公司(一加手机)
- 11、上海亿保健康管理有限公司
- 12、海尔馨厨 (海尔)
- 13、河南大红包电子商务有限公司
- 14、成都顺点科技有限公司
- 15、深圳市怡亚通
- 16、深圳麦亚信科技股份有限公司
- 17、上海博莹科技信息技术有限公司
- 18、中国平安科技有限公司
- ……
欢迎大家的关注和使用,XXL-JOB也将拥抱变化,持续发展。
#### 1.4 下载
##### 源码地址 (将会在两个git仓库同步发布最新代码)
- [github地址](https://github.com/xuxueli/xxl-job)
- [git.osc地址](http://git.oschina.net/xuxueli0323/xxl-job)
##### 中央仓库地址 (最新Release版本)
```
<!-- http://repo1.maven.org/maven2/com/xuxueli/xxl-job-core/ -->
<dependency>
<groupId>com.xuxueli</groupId>
<artifactId>xxl-job-core</artifactId>
<version>1.6.1</version>
</dependency>
```
##### 博客地址 (将会在两个博客同步更新文档)
- [oschina地址](http://my.oschina.net/xuxueli/blog/690978)
- [cnblogs地址](http://www.cnblogs.com/xuxueli/p/5021979.html)
##### 技术交流群 (仅作技术交流)
- 群2:438249535 [![image](http://pub.idqqimg.com/wpa/images/group.png)](http://shang.qq.com/wpa/qunwpa?idkey=e288e6a50a82a1eeed89117f45b4839b4ba69db9a87da63ea915fae5294cc50d )
- 群1:367260654 [![image](http://pub.idqqimg.com/wpa/images/group.png)](http://shang.qq.com/wpa/qunwpa?idkey=4686e3fe01118445c75673a66b4cc6b2c7ce0641528205b6f403c179062b0a52 ) (群1已满,请加群2)
##### Download: 历史Release版本下载位置如下图所示,请自行前往进行选择和下载。
![输入图片说明](https://static.oschina.net/uploads/img/201703/13204008_b8vA.png "在这里输入图片标题")
#### 1.5 环境
- Servlet/JSP Spec:3.0/2.2
- JDK:1.7+
- Tomcat:7+/Jetty8+
- Mysql:5.6+
- Maven:3+
## 二、快速入门
#### 2.1 初始化“调度数据库”
请下载项目源码并解压,获取 "调度数据库初始化SQL脚本"(脚本文件为: 源码解压根目录\xxl-job\db\tables_xxl_job.sql) 并执行即可。正常情况下,应该生成如下图所示16张表;
![输入图片说明](https://static.oschina.net/uploads/img/201703/10181507_8psZ.png "在这里输入图片标题")
调度中心集群情况下,集群节点务必连接同一个mysql实例;如果mysql做主从,调度中心集群节点务必强制走主库;
#### 2.2 编译源码
解压源码,按照maven格式将源码导入IDE, 使用maven进行编译即可,源码结构如下图所示:
![输入图片说明](https://static.oschina.net/uploads/img/201607/23222522_JGCc.png "在这里输入图片标题")
- xxl-job-admin:调度中心
- xxl-job-core:公共依赖
- xxl-job-executor-example:执行器(可直接使用该执行器,也可以将现有项目改造成执行器使用)
#### 2.3 配置部署“调度中心”
调度中心项目:xxl-job-admin
作用:统一管理任务调度平台上调度任务,负责触发调度执行。
**调度中心配置**:配置文件以及配置属性如下图所示。
![输入图片说明](https://static.oschina.net/uploads/img/201703/10172754_5DUl.png "在这里输入图片标题")
### 调度中心JDBC链接:链接地址请保持和 2.1章节 所创建的调度数据库的地址一致
xxl.job.db.driverClass=com.mysql.jdbc.Driver
xxl.job.db.url=jdbc:mysql://localhost:3306/xxl-job?useUnicode=true&characterEncoding=UTF-8
xxl.job.db.user=root
xxl.job.db.password=root_pwd
### “调度中心”任务回调服务地址:“执行器”将会回调该地址通知任务执行结果,改地址将会用于回调服务注册。回调服务默认端口�
没有合适的资源?快使用搜索试试~ 我知道了~
jobHandler调度器
共386个文件
class:88个
java:81个
js:31个
需积分: 50 14 下载量 105 浏览量
2017-04-11
15:15:44
上传
评论 1
收藏 6.47MB RAR 举报
温馨提示
资源使用说明:http://blog.csdn.net/qq5132834/article/details/70053723
资源推荐
资源详情
资源评论
收起资源包目录
jobHandler调度器 (386个子文件)
XxlJobDynamicScheduler.class 11KB
RemoteHttpJobBean.class 10KB
XxlJobServiceImpl.class 9KB
JobLogController.class 8KB
XxlJobExecutor.class 6KB
XxlJobFileAppender.class 6KB
JobGroupController.class 5KB
JobThread.class 5KB
GlueFactory.class 5KB
MailUtil.class 5KB
JobMonitorHelper$1.class 4KB
AdminBizImpl.class 4KB
ExecutorBizImpl.class 4KB
DBUtil.class 4KB
XxlJobInfo.class 4KB
IpUtil.class 4KB
NetComServerFactory.class 4KB
JobRegistryHelper$1.class 4KB
ExecutorRouteConsistentHash.class 3KB
JobInfoController.class 3KB
IndexController.class 3KB
JettyServer$1.class 3KB
JobCodeController.class 3KB
XxlJobLogDaoImpl.class 3KB
HttpClientUtil.class 3KB
PermissionInterceptor.class 3KB
JettyServerHandler.class 3KB
ExecutorRouteStrategyEnum.class 3KB
JacksonUtil.class 3KB
ExecutorRouteLFU.class 3KB
XxlJobInfoDaoImpl.class 3KB
XxlJobLog.class 3KB
TriggerCallbackThread$1.class 3KB
WebExceptionResolver.class 3KB
PropertiesUtil.class 3KB
JobRegistryHelper.class 2KB
RpcRequest.class 2KB
CookieUtil.class 2KB
NetComClientProxy$1.class 2KB
TriggerCallbackThread.class 2KB
TriggerParam.class 2KB
JettyServer.class 2KB
ReturnT.class 2KB
ExecutorRouteLRU.class 2KB
ExecutorRouter.class 2KB
ExecutorRegistryThread$1.class 2KB
JobMonitorHelper.class 2KB
NetComClientProxy.class 2KB
XxlJobRegistryDaoImpl.class 2KB
XxlJobLogGlue.class 2KB
XxlJobInfoTest.class 2KB
XxlJobGroup.class 2KB
JettyClient.class 2KB
CookieInterceptor.class 2KB
XxlJobLogGlueDaoImpl.class 2KB
HessianSerializer.class 2KB
XxlJobGroupDaoImpl.class 2KB
ExecutorRouteRound.class 2KB
HandleCallbackParam.class 2KB
ExecutorRegistryThread.class 2KB
ExecutorRouteLFU$1.class 2KB
XxlJobRegistry.class 1KB
DbGlueLoader.class 1KB
DbRegistHelper.class 1KB
LogResult.class 1KB
RpcResponse.class 1KB
GlueJobHandler.class 1KB
RegistHelper$RegistType.class 1KB
DemoJobHandler.class 1KB
MailUtil$1.class 1KB
JunitTest.class 1KB
ExecutorRouteRandom.class 1KB
ExecutorRouteLast.class 854B
ExecutorRouteFirst.class 829B
IXxlJobService.class 772B
ExecutorBiz.class 744B
IXxlJobInfoDao.class 671B
JacksonUtil$1.class 598B
IXxlJobLogDao.class 591B
JobHander.class 507B
PermessionLimit.class 479B
IXxlJobGroupDao.class 424B
IXxlJobRegistryDao.class 404B
IJobHandler.class 399B
IXxlJobLogGlueDao.class 393B
RegistHelper.class 360B
AdminBiz.class 355B
GlueLoader.class 169B
.classpath 1KB
.classpath 1KB
.classpath 1KB
org.eclipse.wst.common.component 915B
org.eclipse.wst.common.component 250B
org.eclipse.wst.jsdt.ui.superType.container 49B
bootstrap.min.css 118KB
AdminLTE-local.min.css 88KB
AdminLTE.min.css 88KB
ionicons.min.css 50KB
_all-skins.min.css 40KB
font-awesome.min.css 27KB
共 386 条
- 1
- 2
- 3
- 4
资源评论
qq513283439
- 粉丝: 165
- 资源: 140
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功