Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
LFFZC
xxl-job
提交
f247cda6
X
xxl-job
项目概览
LFFZC
/
xxl-job
与 Fork 源项目一致
从无法访问的项目Fork
通知
3
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,体验更适合开发者的 AI 搜索 >>
提交
f247cda6
编写于
3月 12, 2017
作者:
X
xueli.xue
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
更新RM
上级
16e5db75
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
9 addition
and
8 deletion
+9
-8
README.md
README.md
+9
-8
未找到文件。
README.md
浏览文件 @
f247cda6
...
...
@@ -503,14 +503,16 @@ CronTrigger cronTrigger = TriggerBuilder.newTrigger().withIdentity(triggerKey).w
![
输入图片说明
](
https://static.oschina.net/uploads/img/201703/10172754_5DUl.png
"在这里输入图片标题"
)
##### 5.4.8 任务HA(Failover)
执行器如若集群部署,调度中心将会感知到在线的所有执行器,如“127.0.0.1:999
8,
127.0.0.1:9999”。
执行器如若集群部署,调度中心将会感知到在线的所有执行器,如“127.0.0.1:999
7, 127.0.0.1:9998,
127.0.0.1:9999”。
执行器集群部署,当调度中心每次发起调度请求时,会对执行器随机排序,然后按照顺序取对执行器发出心跳检测请求,第一个检测为存活状态的执行器将会被选定并发送调度请求。
当任务"路由策略"选择"故障转移(FAILOVER)"时,当调度中心每次发起调度请求时,会对执行器随机排序,然后按照顺序取对执行器发出心跳检测请求,第一个检测为存活状态的执行器将会被选定并发送调度请求。
![
输入图片说明
](
https://static.oschina.net/uploads/img/201703/12230049_EBkr.png
"在这里输入图片标题"
)
调度成功后,可在日志监控界面查看“调度备注”,如下;
![
输入图片说明
](
https://static.oschina.net/uploads/img/201
607/24150809_TNqT
.png
"在这里输入图片标题"
)
![
输入图片说明
](
https://static.oschina.net/uploads/img/201
703/12230733_jrdI
.png
"在这里输入图片标题"
)
“调度备注”可以查看执行器地址选择日志,任务配置的地址“227.0.0.1:9999,127.0.0.1:9999”,首先对第一个执行器地址“227.0.0.1:9999”进行心跳检测,心跳失败因此跳过;然后对第二个执行器地址“127.0.0.1:9999”进行心跳检测,心跳检测成功,选定为“目标执行器”;然后对“目标执行器”发送调度请求,调度流程结束,等待执行器回调执行结果。
“调度备注”可以看出本地调度运行轨迹,执行器的"注册方式"、"地址列表"和任务的"路由策略"。"故障转移(FAILOVER)"路由策略下,调度中心首先对第一个地址进行心跳检测,心跳失败因此自动跳过,第二个依然心跳检测失败……
直至心跳检测第三个地址“127.0.0.1:9999”成功,选定为“目标执行器”;然后对“目标执行器”发送调度请求,调度流程结束,等待执行器回调执行结果。
##### 5.4.9 调度日志
调度中心每次进行任务调度,都会记录一条任务日志,任务日志主要包括以下三部分内容:
...
...
@@ -519,8 +521,7 @@ CronTrigger cronTrigger = TriggerBuilder.newTrigger().withIdentity(triggerKey).w
-
调度信息:包括“调度时间”、“调度结果”和“调度日志”等,根据这些参数,可以了解“调度中心”发起调度请求时具体情况。
-
执行信息:包括“执行时间”、“执行结果”和“执行日志”等,根据这些参数,可以了解在“执行器”端任务执行的具体情况;
![
输入图片说明
](
https://static.oschina.net/uploads/img/201607/24134148_6xpS.png
"在这里输入图片标题"
)
![
输入图片说明
](
https://static.oschina.net/uploads/img/201703/12221436_c8Ru.png
"在这里输入图片标题"
)
调度日志,针对单次调度,属性说明如下:
-
执行器地址:任务执行的机器地址;
...
...
@@ -555,9 +556,9 @@ CronTrigger cronTrigger = TriggerBuilder.newTrigger().withIdentity(triggerKey).w
原理:每个Glue任务的代码,实际上是“一个继承自“IJobHandler”的实现类的类代码”,“执行器”接收到“调度中心”的调度请求时,会通过Groovy类加载器加载此代码,实例化成Java对象,同时注入此代码中声明的Spring服务(请确保Glue代码中的服务和类引用在“执行器”项目中存在),然后调用该对象的execute方法,执行任务逻辑。
##### 5.5.3 执行器
执行器实际上是一个内嵌的Jetty服务器,默认端口9999。
执行器实际上是一个内嵌的Jetty服务器,默认端口9999
,如下图配置文件所示(参数:xxl.job.executor.port)
。
![
输入图片说明
](
https://static.oschina.net/uploads/img/201
607/23224304_0jxT
.png
"在这里输入图片标题"
)
![
输入图片说明
](
https://static.oschina.net/uploads/img/201
703/10174923_TgNO
.png
"在这里输入图片标题"
)
在项目启动时,执行器会通过“@JobHander”识别Spring容器中“Bean模式任务”,以注解的value属性为key管理起来。
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录