Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
淡淡忧伤的程序员
DolphinScheduler
提交
1ab0a02a
DolphinScheduler
项目概览
淡淡忧伤的程序员
/
DolphinScheduler
与 Fork 源项目一致
Fork自
apache / DolphinScheduler
通知
48
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
DolphinScheduler
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
1ab0a02a
编写于
7月 08, 2019
作者:
leon-baoliang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update worker task queue
上级
415770c1
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
31 addition
and
9 deletion
+31
-9
escheduler-common/src/main/java/cn/escheduler/common/queue/TaskQueueZkImpl.java
...main/java/cn/escheduler/common/queue/TaskQueueZkImpl.java
+23
-3
escheduler-common/src/test/java/cn/escheduler/common/queue/TaskQueueImplTest.java
...st/java/cn/escheduler/common/queue/TaskQueueImplTest.java
+8
-6
未找到文件。
escheduler-common/src/main/java/cn/escheduler/common/queue/TaskQueueZkImpl.java
浏览文件 @
1ab0a02a
...
...
@@ -151,7 +151,27 @@ public class TaskQueueZkImpl extends AbstractZKClient implements ITaskQueue {
int
size
=
list
.
size
();
Set
<
String
>
taskTreeSet
=
new
TreeSet
<>();
Set
<
String
>
taskTreeSet
=
new
TreeSet
<>(
new
Comparator
<
String
>()
{
@Override
public
int
compare
(
String
o1
,
String
o2
)
{
String
s1
=
o1
;
String
s2
=
o2
;
String
[]
s1Array
=
s1
.
split
(
Constants
.
UNDERLINE
);
if
(
s1Array
.
length
>
4
){
// warning: if this length > 5, need to be changed
s1
=
s1
.
substring
(
0
,
s1
.
lastIndexOf
(
Constants
.
UNDERLINE
)
);
}
String
[]
s2Array
=
s2
.
split
(
Constants
.
UNDERLINE
);
if
(
s2Array
.
length
>
4
){
// warning: if this length > 5, need to be changed
s2
=
s2
.
substring
(
0
,
s2
.
lastIndexOf
(
Constants
.
UNDERLINE
)
);
}
return
s1
.
compareTo
(
s2
);
}
});
for
(
int
i
=
0
;
i
<
size
;
i
++)
{
...
...
@@ -173,8 +193,8 @@ public class TaskQueueZkImpl extends AbstractZKClient implements ITaskQueue {
continue
;
}
}
formatTask
+=
Constants
.
UNDERLINE
+
taskDetailArrs
[
4
];
}
taskTreeSet
.
add
(
formatTask
);
}
...
...
@@ -229,7 +249,7 @@ public class TaskQueueZkImpl extends AbstractZKClient implements ITaskQueue {
int
taskId
=
Integer
.
parseInt
(
taskArray
[
3
]);
StringBuilder
sb
=
new
StringBuilder
(
50
);
String
destTask
=
String
.
format
(
"%s_%s_%s_%s"
,
taskArray
[
0
],
processInstanceId
,
taskArray
[
3
],
taskId
);
String
destTask
=
String
.
format
(
"%s_%s_%s_%s"
,
taskArray
[
0
],
processInstanceId
,
taskArray
[
2
],
taskId
);
sb
.
append
(
destTask
);
...
...
escheduler-common/src/test/java/cn/escheduler/common/queue/TaskQueueImplTest.java
浏览文件 @
1ab0a02a
...
...
@@ -17,6 +17,8 @@
package
cn.escheduler.common.queue
;
import
cn.escheduler.common.Constants
;
import
cn.escheduler.common.utils.IpUtils
;
import
cn.escheduler.common.utils.OSUtils
;
import
org.junit.After
;
import
org.junit.Assert
;
import
org.junit.Before
;
...
...
@@ -58,31 +60,31 @@ public class TaskQueueImplTest {
@Test
public
void
testAdd
(){
//add
tasksQueue
.
add
(
Constants
.
SCHEDULER_TASKS_QUEUE
,
"1_
1_1_1_2130706433,3232236775
"
);
tasksQueue
.
add
(
Constants
.
SCHEDULER_TASKS_QUEUE
,
"1_
0_1_1_-1
"
);
tasksQueue
.
add
(
Constants
.
SCHEDULER_TASKS_QUEUE
,
"0_1_1_1_2130706433,3232236775"
);
tasksQueue
.
add
(
Constants
.
SCHEDULER_TASKS_QUEUE
,
"1_1_0_1_2130706433,3232236775
"
);
tasksQueue
.
add
(
Constants
.
SCHEDULER_TASKS_QUEUE
,
"1_1_0_1_2130706433,3232236775
,"
+
IpUtils
.
ipToLong
(
OSUtils
.
getHost
())
);
tasksQueue
.
add
(
Constants
.
SCHEDULER_TASKS_QUEUE
,
"1_2_1_1_2130706433,3232236775"
);
List
<
String
>
tasks
=
tasksQueue
.
poll
(
Constants
.
SCHEDULER_TASKS_QUEUE
,
1
);
if
(
tasks
.
size
()
<
0
){
if
(
tasks
.
size
()
<
=
0
){
return
;
}
//pop
String
node1
=
tasks
.
get
(
0
);
assertEquals
(
node1
,
"
0_0000000001_1_000000000
1"
);
assertEquals
(
node1
,
"
1_0_1_1_-
1"
);
tasks
=
tasksQueue
.
poll
(
Constants
.
SCHEDULER_TASKS_QUEUE
,
1
);
if
(
tasks
.
size
()
<
0
){
if
(
tasks
.
size
()
<
=
0
){
return
;
}
String
node2
=
tasks
.
get
(
0
);
assertEquals
(
node2
,
"0_0000000001_1_0000000001"
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录