更新用户手册

This commit is contained in:
xueli.xue 2016-05-28 20:04:17 +08:00
parent aba36d3139
commit 9a364e0b3a
6 changed files with 33 additions and 27 deletions

View File

@ -7,19 +7,17 @@ git.osc地址http://git.oschina.net/xuxueli0323/xxl-job
技术交流群(仅作技术交流)367260654 [![image](http://pub.idqqimg.com/wpa/images/group.png)](http://shang.qq.com/wpa/qunwpa?idkey=4686e3fe01118445c75673a66b4cc6b2c7ce0641528205b6f403c179062b0a52)
# 特点:集群任务调度管理
# 特点:
1、简单支持通过Web页面对任务进行CRUD操作操作简单一分钟上手
2、动态支持动态修改任务状态动态暂停/恢复任务,即时生效;
3、服务HA任务信息持久化到mysql中Job服务天然支持集群保证服务HA
4、任务HA某台Job服务挂掉任务会平滑分配给其他的某一台存活服务即使所有服务挂掉重启时或补偿执行丢失任务
5、一个任务只会在其中一台服务器上执行
6、任务串行执行
7、支持任务执行日志
8、支持自定义参数
9、支持任务失败次数超阈值邮件报警
10、支持在线查看执行器详细日志
11、支持远程任务执行终止
12、支持登录验证
2、动态支持动态修改任务状态、暂停/恢复任务,以及终止运行中任务,即时生效;
3、调度HA“调度中心”基于集群Quartz实现可保证调度中心HA
4、任务HA任务支持多地址配置可保证任务HAFailover
5、一致性“调度中心”通过DB锁保证集群分布式调度的一致性
6、自定义任务参数支持在线配置调度任务入参即时生效
7、调度线程池调度系统多线程触发调度运行确保调度精确执行不被堵塞
8、执行日志支持在线查看调度结果并且查看完整的执行日志
9、邮件报警任务失败时支持邮件报警同时可自定义失败次数阀值
10、支持登录验证
# 新版本 V1.1.x特性【于V1.1.x版本XXL-JOB正式应用于我司内部定制别名为 “Ferrari”新接入应用推荐使用最新版本V1.3.x】
1、简单支持通过Web页面对任务进行CRUD操作操作简单一分钟上手
@ -66,6 +64,11 @@ git.osc地址http://git.oschina.net/xuxueli0323/xxl-job
/doc --------------------------------- 用户手册
2、在新的目录结构上升级了用户手册
3、优化了一些交互和UI
# 新版本1.3.2
1、调度逻辑进行事务包裹
2、执行器异步回调执行日志
3、【重要】在 “调度中心” 支持HA的基础上扩展执行器的Failover支持支持配置多执行期地址
# 源码目录说明
/xxl-job-admin 【调度中心】:负责管理调度信息,按照调度配置发出调度请求;

View File

@ -148,7 +148,7 @@
<dependency>
<groupId>com.xxl</groupId>
<artifactId>xxl-job-core</artifactId>
<version>1.3.1</version>
<version>1.3.2</version>
</dependency>
</dependencies>

View File

@ -4,6 +4,7 @@ import java.text.MessageFormat;
import java.util.Date;
import java.util.HashMap;
import org.apache.commons.lang.StringUtils;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.quartz.JobKey;
@ -89,18 +90,20 @@ public class RemoteHttpJobBean extends QuartzJobBean {
if (handler_address.split(",").length > 1) {
String failoverMessage = "";
for (String address : handler_address.split(",")) {
HashMap<String, String> params = new HashMap<String, String>();
params.put(HandlerParamEnum.TIMESTAMP.name(), String.valueOf(System.currentTimeMillis()));
params.put(HandlerParamEnum.ACTION.name(), ActionEnum.BEAT.name());
RemoteCallBack beatResult = HttpUtil.post(HttpUtil.addressToUrl(address), params);
failoverMessage += MessageFormat.format("BEAT running, <br>>>>[address] : {0}, <br>>>>[status] : {1}, <br>>>>[msg] : {2} <br><hr>", address, beatResult.getStatus(), beatResult.getMsg());
if (RemoteCallBack.SUCCESS.equals(beatResult.getStatus())) {
jobLog.setExecutorAddress(address);
RemoteCallBack triggerCallback = HttpUtil.post(HttpUtil.addressToUrl(address), handler_params);
triggerCallback.setStatus(RemoteCallBack.SUCCESS);
failoverMessage += MessageFormat.format("Trigger running, <br>>>>[address] : {0}, <br>>>>[status] : {1}, <br>>>>[msg] : {2} <br><hr>", address, triggerCallback.getStatus(), triggerCallback.getMsg());
triggerCallback.setMsg(failoverMessage);
return triggerCallback;
if (StringUtils.isNotBlank(address)) {
HashMap<String, String> params = new HashMap<String, String>();
params.put(HandlerParamEnum.TIMESTAMP.name(), String.valueOf(System.currentTimeMillis()));
params.put(HandlerParamEnum.ACTION.name(), ActionEnum.BEAT.name());
RemoteCallBack beatResult = HttpUtil.post(HttpUtil.addressToUrl(address), params);
failoverMessage += MessageFormat.format("BEAT running, <br>>>>[address] : {0}, <br>>>>[status] : {1}, <br>>>>[msg] : {2} <br><hr>", address, beatResult.getStatus(), beatResult.getMsg());
if (RemoteCallBack.SUCCESS.equals(beatResult.getStatus())) {
jobLog.setExecutorAddress(address);
RemoteCallBack triggerCallback = HttpUtil.post(HttpUtil.addressToUrl(address), handler_params);
triggerCallback.setStatus(RemoteCallBack.SUCCESS);
failoverMessage += MessageFormat.format("Trigger running, <br>>>>[address] : {0}, <br>>>>[status] : {1}, <br>>>>[msg] : {2} <br><hr>", address, triggerCallback.getStatus(), triggerCallback.getMsg());
triggerCallback.setMsg(failoverMessage);
return triggerCallback;
}
}
}

View File

@ -7,7 +7,7 @@
<version>1.3.0-SNAPSHOT</version>
</parent>
<artifactId>xxl-job-core</artifactId>
<version>1.3.1</version>
<version>1.3.2</version>
<dependencies>

View File

@ -79,7 +79,7 @@
<dependency>
<groupId>com.xxl</groupId>
<artifactId>xxl-job-core</artifactId>
<version>1.3.1</version>
<version>1.3.2</version>
</dependency>
</dependencies>