Skip to content
项目
群组
代码片段
帮助
正在加载...
登录
切换导航
X
XXL-JOB
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
靳帅
XXL-JOB
Commits
9a364e0b
提交
9a364e0b
authored
5月 28, 2016
作者:
xueli.xue
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
更新用户手册
上级
aba36d31
隐藏空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
33 行增加
和
27 行删除
+33
-27
README.md
README.md
+15
-12
XXL-JOB1.3.x用户手册_20160523_2012.docx
doc/XXL-JOB1.3.x用户手册_20160523_2012.docx
+0
-0
pom.xml
xxl-job-admin/pom.xml
+1
-1
RemoteHttpJobBean.java
...ava/com/xxl/job/admin/core/jobbean/RemoteHttpJobBean.java
+15
-12
pom.xml
xxl-job-core/pom.xml
+1
-1
pom.xml
xxl-job-executor-example/pom.xml
+1
-1
没有找到文件。
README.md
浏览文件 @
9a364e0b
...
@@ -7,19 +7,17 @@ git.osc地址:http://git.oschina.net/xuxueli0323/xxl-job
...
@@ -7,19 +7,17 @@ git.osc地址:http://git.oschina.net/xuxueli0323/xxl-job
技术交流群(仅作技术交流):367260654
[

](http://shang.qq.com/wpa/qunwpa?idkey=4686e3fe01118445c75673a66b4cc6b2c7ce0641528205b6f403c179062b0a52)
技术交流群(仅作技术交流):367260654
[

](http://shang.qq.com/wpa/qunwpa?idkey=4686e3fe01118445c75673a66b4cc6b2c7ce0641528205b6f403c179062b0a52)
# 特点:
集群任务调度管理
# 特点:
1、简单:支持通过Web页面对任务进行CRUD操作,操作简单,一分钟上手;
1、简单:支持通过Web页面对任务进行CRUD操作,操作简单,一分钟上手;
2、动态:支持动态修改任务状态,动态暂停/恢复任务,即时生效;
2、动态:支持动态修改任务状态、暂停/恢复任务,以及终止运行中任务,即时生效;
3、服务HA:任务信息持久化到mysql中,Job服务天然支持集群,保证服务HA;
3、调度HA:“调度中心”基于集群Quartz实现,可保证调度中心HA;
4、任务HA:某台Job服务挂掉,任务会平滑分配给其他的某一台存活服务,即使所有服务挂掉,重启时或补偿执行丢失任务;
4、任务HA:任务支持多地址配置,可保证任务HA(Failover);
5、一个任务只会在其中一台服务器上执行;
5、一致性:“调度中心”通过DB锁保证集群分布式调度的一致性;
6、任务串行执行;
6、自定义任务参数:支持在线配置调度任务入参,即时生效;
7、支持任务执行日志;
7、调度线程池:调度系统多线程触发调度运行,确保调度精确执行,不被堵塞;
8、支持自定义参数;
8、执行日志:支持在线查看调度结果,并且查看完整的执行日志;
9、支持任务失败次数超阈值邮件报警;
9、邮件报警:任务失败时支持邮件报警,同时可自定义失败次数阀值;
10、支持在线查看,执行器详细日志;
10、支持登录验证;
11、支持远程任务执行终止;
12、支持登录验证;
# 新版本 V1.1.x,特性【于V1.1.x版本,XXL-JOB正式应用于我司,内部定制别名为 “Ferrari”,新接入应用推荐使用最新版本V1.3.x】
# 新版本 V1.1.x,特性【于V1.1.x版本,XXL-JOB正式应用于我司,内部定制别名为 “Ferrari”,新接入应用推荐使用最新版本V1.3.x】
1、简单:支持通过Web页面对任务进行CRUD操作,操作简单,一分钟上手;
1、简单:支持通过Web页面对任务进行CRUD操作,操作简单,一分钟上手;
...
@@ -66,6 +64,11 @@ git.osc地址:http://git.oschina.net/xuxueli0323/xxl-job
...
@@ -66,6 +64,11 @@ git.osc地址:http://git.oschina.net/xuxueli0323/xxl-job
/doc --------------------------------- 用户手册
/doc --------------------------------- 用户手册
2、在新的目录结构上,升级了用户手册;
2、在新的目录结构上,升级了用户手册;
3、优化了一些交互和UI;
3、优化了一些交互和UI;
# 新版本1.3.2
1、调度逻辑进行事务包裹;
2、执行器异步回调执行日志;
3、【重要】在 “调度中心” 支持HA的基础上,扩展执行器的Failover支持,支持配置多执行期地址;
# 源码目录说明
# 源码目录说明
/xxl-job-admin 【调度中心】:负责管理调度信息,按照调度配置发出调度请求;
/xxl-job-admin 【调度中心】:负责管理调度信息,按照调度配置发出调度请求;
...
...
doc/XXL-JOB1.3.x用户手册_20160523_2012.docx
deleted
100644 → 0
浏览文件 @
aba36d31
File deleted
xxl-job-admin/pom.xml
浏览文件 @
9a364e0b
...
@@ -148,7 +148,7 @@
...
@@ -148,7 +148,7 @@
<dependency>
<dependency>
<groupId>
com.xxl
</groupId>
<groupId>
com.xxl
</groupId>
<artifactId>
xxl-job-core
</artifactId>
<artifactId>
xxl-job-core
</artifactId>
<version>
1.3.
1
</version>
<version>
1.3.
2
</version>
</dependency>
</dependency>
</dependencies>
</dependencies>
...
...
xxl-job-admin/src/main/java/com/xxl/job/admin/core/jobbean/RemoteHttpJobBean.java
浏览文件 @
9a364e0b
...
@@ -4,6 +4,7 @@ import java.text.MessageFormat;
...
@@ -4,6 +4,7 @@ import java.text.MessageFormat;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
org.apache.commons.lang.StringUtils
;
import
org.quartz.JobExecutionContext
;
import
org.quartz.JobExecutionContext
;
import
org.quartz.JobExecutionException
;
import
org.quartz.JobExecutionException
;
import
org.quartz.JobKey
;
import
org.quartz.JobKey
;
...
@@ -89,18 +90,20 @@ public class RemoteHttpJobBean extends QuartzJobBean {
...
@@ -89,18 +90,20 @@ public class RemoteHttpJobBean extends QuartzJobBean {
if
(
handler_address
.
split
(
","
).
length
>
1
)
{
if
(
handler_address
.
split
(
","
).
length
>
1
)
{
String
failoverMessage
=
""
;
String
failoverMessage
=
""
;
for
(
String
address
:
handler_address
.
split
(
","
))
{
for
(
String
address
:
handler_address
.
split
(
","
))
{
HashMap
<
String
,
String
>
params
=
new
HashMap
<
String
,
String
>();
if
(
StringUtils
.
isNotBlank
(
address
))
{
params
.
put
(
HandlerParamEnum
.
TIMESTAMP
.
name
(),
String
.
valueOf
(
System
.
currentTimeMillis
()));
HashMap
<
String
,
String
>
params
=
new
HashMap
<
String
,
String
>();
params
.
put
(
HandlerParamEnum
.
ACTION
.
name
(),
ActionEnum
.
BEAT
.
name
());
params
.
put
(
HandlerParamEnum
.
TIMESTAMP
.
name
(),
String
.
valueOf
(
System
.
currentTimeMillis
()));
RemoteCallBack
beatResult
=
HttpUtil
.
post
(
HttpUtil
.
addressToUrl
(
address
),
params
);
params
.
put
(
HandlerParamEnum
.
ACTION
.
name
(),
ActionEnum
.
BEAT
.
name
());
failoverMessage
+=
MessageFormat
.
format
(
"BEAT running, <br>>>>[address] : {0}, <br>>>>[status] : {1}, <br>>>>[msg] : {2} <br><hr>"
,
address
,
beatResult
.
getStatus
(),
beatResult
.
getMsg
());
RemoteCallBack
beatResult
=
HttpUtil
.
post
(
HttpUtil
.
addressToUrl
(
address
),
params
);
if
(
RemoteCallBack
.
SUCCESS
.
equals
(
beatResult
.
getStatus
()))
{
failoverMessage
+=
MessageFormat
.
format
(
"BEAT running, <br>>>>[address] : {0}, <br>>>>[status] : {1}, <br>>>>[msg] : {2} <br><hr>"
,
address
,
beatResult
.
getStatus
(),
beatResult
.
getMsg
());
jobLog
.
setExecutorAddress
(
address
);
if
(
RemoteCallBack
.
SUCCESS
.
equals
(
beatResult
.
getStatus
()))
{
RemoteCallBack
triggerCallback
=
HttpUtil
.
post
(
HttpUtil
.
addressToUrl
(
address
),
handler_params
);
jobLog
.
setExecutorAddress
(
address
);
triggerCallback
.
setStatus
(
RemoteCallBack
.
SUCCESS
);
RemoteCallBack
triggerCallback
=
HttpUtil
.
post
(
HttpUtil
.
addressToUrl
(
address
),
handler_params
);
failoverMessage
+=
MessageFormat
.
format
(
"Trigger running, <br>>>>[address] : {0}, <br>>>>[status] : {1}, <br>>>>[msg] : {2} <br><hr>"
,
address
,
triggerCallback
.
getStatus
(),
triggerCallback
.
getMsg
());
triggerCallback
.
setStatus
(
RemoteCallBack
.
SUCCESS
);
triggerCallback
.
setMsg
(
failoverMessage
);
failoverMessage
+=
MessageFormat
.
format
(
"Trigger running, <br>>>>[address] : {0}, <br>>>>[status] : {1}, <br>>>>[msg] : {2} <br><hr>"
,
address
,
triggerCallback
.
getStatus
(),
triggerCallback
.
getMsg
());
return
triggerCallback
;
triggerCallback
.
setMsg
(
failoverMessage
);
return
triggerCallback
;
}
}
}
}
}
...
...
xxl-job-core/pom.xml
浏览文件 @
9a364e0b
...
@@ -7,7 +7,7 @@
...
@@ -7,7 +7,7 @@
<version>
1.3.0-SNAPSHOT
</version>
<version>
1.3.0-SNAPSHOT
</version>
</parent>
</parent>
<artifactId>
xxl-job-core
</artifactId>
<artifactId>
xxl-job-core
</artifactId>
<version>
1.3.
1
</version>
<version>
1.3.
2
</version>
<dependencies>
<dependencies>
...
...
xxl-job-executor-example/pom.xml
浏览文件 @
9a364e0b
...
@@ -79,7 +79,7 @@
...
@@ -79,7 +79,7 @@
<dependency>
<dependency>
<groupId>
com.xxl
</groupId>
<groupId>
com.xxl
</groupId>
<artifactId>
xxl-job-core
</artifactId>
<artifactId>
xxl-job-core
</artifactId>
<version>
1.3.
1
</version>
<version>
1.3.
2
</version>
</dependency>
</dependency>
</dependencies>
</dependencies>
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论