Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
aboota
xxl-job
提交
0361025d
X
xxl-job
项目概览
aboota
/
xxl-job
与 Fork 源项目一致
从无法访问的项目Fork
通知
10
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
X
xxl-job
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
0361025d
编写于
8月 31, 2017
作者:
许雪里
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
事件触发:除了"Cron方式"和"任务依赖方式"触发任务执行之外,支持基于事件的触发任务方式。调度中心提供触发任务单次执行的API服务,可根据业务事件灵活触发。
上级
aef9ef6c
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
46 addition
and
4 deletion
+46
-4
doc/XXL-JOB官方文档.md
doc/XXL-JOB官方文档.md
+29
-3
xxl-job-admin/src/test/java/com/xxl/job/dao/impl/AdminBizTest.java
...dmin/src/test/java/com/xxl/job/dao/impl/AdminBizTest.java
+17
-1
未找到文件。
doc/XXL-JOB官方文档.md
浏览文件 @
0361025d
...
...
@@ -36,6 +36,7 @@ XXL-JOB是一个轻量级分布式任务调度框架,其核心设计目标是
-
22、失败处理策略;调度失败时的处理策略,策略包括:失败告警(默认)、失败重试;
-
23、分片广播任务:执行器集群部署时,任务路由策略选择"分片广播"情况下,一次任务调度将会广播触发集群中所有执行器执行一次任务,可根据分片参数开发分片任务;
-
24、动态分片:分片广播任务以执行器为维度进行分片,支持动态扩容执行器集群从而动态增加分片数量,协同进行业务处理;在进行大数据量业务操作时可显著提升任务处理能力和速度。
-
25、事件触发:除了"Cron方式"和"任务依赖方式"触发任务执行之外,支持基于事件的触发任务方式。调度中心提供触发任务单次执行的API服务,可根据业务事件灵活触发。
### 1.3 发展
于2015年中,我在github上创建XXL-JOB项目仓库并提交第一个commit,随之进行系统结构设计,UI选型,交互设计……
...
...
@@ -174,7 +175,7 @@ XXL-JOB是一个轻量级分布式任务调度框架,其核心设计目标是
### 2.3 配置部署“调度中心”
调度中心项目:xxl-job-admin
作用:统一管理任务调度平台上调度任务,负责触发调度执行。
作用:统一管理任务调度平台上调度任务,负责触发调度执行
,并且提供任务管理平台
。
#### 步骤一:调度中心配置:
调度中心配置文件地址:
...
...
@@ -223,7 +224,7 @@ XXL-JOB是一个轻量级分布式任务调度框架,其核心设计目标是
### 2.4 配置部署“执行器项目”
“执行器”项目:xxl-job-executor-sample-spring (如新建执行器项目,可参考该Sample示例执行器项目的配置步骤;)
作用:负责接收“调度中心”的调度并执行;
作用:负责接收“调度中心”的调度并执行;
可直接部署执行器,也可以将执行器集成到现有业务项目中。
#### 步骤一:maven依赖
确认pom文件中引入了 "xxl-job-core" 的maven依赖;
...
...
@@ -779,6 +780,31 @@ XXL-JOB会为每次调度请求生成一个单独的日志文件,需要通过
-
设置一:调度中心和执行器,均不设置AccessToken;关闭安全性校验;
-
设置二:调度中心和执行器,设置了相同的AccessToken;
### 5.11 调度中心API服务
调度中心提供了API服务,供执行器和业务方选择使用,目前提供的API服务有:
1、任务结果回调服务;
2、执行器注册服务;
3、执行器注册摘除服务;
4、触发任务单次执行器服务;
调度中心API服务位置:com.xxl.job.core.biz.AdminBiz.java
调度中心API服务请求参考代码:com.xxl.job.dao.impl.AdminBizTest.java
```
// 该地址为调度中心部署跟地址,如果调度中心部署地址变动需要做相应调整
String addressUrl = "http://127.0.0.1:8080/xxl-job-admin".concat(AdminBiz.MAPPING);
String accessToken = null;
AdminBiz adminBiz = (AdminBiz) new NetComClientProxy(AdminBiz.class, addressUrl, accessToken).getObject();
// 任务ID
int jobId = 1;
ReturnT<String> returnT = adminBiz.triggerJob(jobId);
Assert.assertTrue(returnT.getCode() == ReturnT.SUCCESS_CODE);
```
## 六、版本更新日志
### 6.1 版本 V1.1.x,新特性[2015-12-05]
...
...
@@ -992,7 +1018,7 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
-
7、执行器注册线程销毁时, 主动摘除注册机器信息,提高执行器注册的实时性;
-
8、调度中心任务监控线程销毁时,批量对失败任务告警,防止告警信息丢失;
-
9、调度中心API服务:支持API方式触发任务执行;
-
10、事件
调度:系统支持Cron、子任务触发、事件触发(API)三种方式触发任务调度;
-
10、事件
触发:除了"Cron方式"和"任务依赖方式"触发任务执行之外,支持基于事件的触发任务方式。调度中心提供触发任务单次执行的API服务,可根据业务事件灵活触发。
### TODO LIST
-
1、任务权限管理:执行器为粒度分配权限,核心操作校验权限;
...
...
xxl-job-admin/src/test/java/com/xxl/job/dao/impl/AdminBizTest.java
浏览文件 @
0361025d
...
...
@@ -9,7 +9,8 @@ import org.junit.Assert;
import
org.junit.Test
;
/**
* admin-api client, test
* admin api test
*
* @author xuxueli 2017-07-28 22:14:52
*/
public
class
AdminBizTest
{
...
...
@@ -18,6 +19,11 @@ public class AdminBizTest {
private
static
String
addressUrl
=
"http://127.0.0.1:8080/xxl-job-admin"
.
concat
(
AdminBiz
.
MAPPING
);
private
static
String
accessToken
=
null
;
/**
* registry executor
*
* @throws Exception
*/
@Test
public
void
registryTest
()
throws
Exception
{
AdminBiz
adminBiz
=
(
AdminBiz
)
new
NetComClientProxy
(
AdminBiz
.
class
,
addressUrl
,
accessToken
).
getObject
();
...
...
@@ -28,6 +34,11 @@ public class AdminBizTest {
Assert
.
assertTrue
(
returnT
.
getCode
()
==
ReturnT
.
SUCCESS_CODE
);
}
/**
* registry executor remove
*
* @throws Exception
*/
@Test
public
void
registryRemove
()
throws
Exception
{
AdminBiz
adminBiz
=
(
AdminBiz
)
new
NetComClientProxy
(
AdminBiz
.
class
,
addressUrl
,
accessToken
).
getObject
();
...
...
@@ -38,6 +49,11 @@ public class AdminBizTest {
Assert
.
assertTrue
(
returnT
.
getCode
()
==
ReturnT
.
SUCCESS_CODE
);
}
/**
* trigger job for once
*
* @throws Exception
*/
@Test
public
void
triggerJob
()
throws
Exception
{
AdminBiz
adminBiz
=
(
AdminBiz
)
new
NetComClientProxy
(
AdminBiz
.
class
,
addressUrl
,
accessToken
).
getObject
();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录