Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
yanghaoyuan.sh
DolphinScheduler
提交
a0082a7e
DolphinScheduler
项目概览
yanghaoyuan.sh
/
DolphinScheduler
与 Fork 源项目一致
Fork自
apache / DolphinScheduler
通知
1
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,发现更多精彩内容 >>
提交
a0082a7e
编写于
7月 04, 2019
作者:
L
lgcareer
浏览文件
操作
浏览文件
下载
差异文件
Merge remote-tracking branch 'remotes/upstream/dev-1.1.0' into dev-1.1.0
上级
9cefd2e8
c77a59b4
变更
11
隐藏空白更改
内联
并排
Showing
11 changed file
with
190 addition
and
8 deletion
+190
-8
docs/zh_CN/系统架构设计.md
docs/zh_CN/系统架构设计.md
+3
-3
escheduler-api/src/main/resources/i18n/messages.properties
escheduler-api/src/main/resources/i18n/messages.properties
+12
-0
escheduler-api/src/main/resources/i18n/messages_en_US.properties
...ler-api/src/main/resources/i18n/messages_en_US.properties
+12
-0
escheduler-api/src/main/resources/i18n/messages_zh_CN.properties
...ler-api/src/main/resources/i18n/messages_zh_CN.properties
+10
-0
escheduler-ui/src/js/conf/home/pages/dag/_source/dag.vue
escheduler-ui/src/js/conf/home/pages/dag/_source/dag.vue
+18
-0
escheduler-ui/src/js/conf/home/pages/dag/_source/startingParam/index.vue
...rc/js/conf/home/pages/dag/_source/startingParam/index.vue
+116
-0
escheduler-ui/src/js/conf/home/pages/dag/instanceDetails.vue
escheduler-ui/src/js/conf/home/pages/dag/instanceDetails.vue
+3
-1
escheduler-ui/src/js/conf/home/store/dag/actions.js
escheduler-ui/src/js/conf/home/store/dag/actions.js
+4
-0
escheduler-ui/src/js/conf/home/store/dag/state.js
escheduler-ui/src/js/conf/home/store/dag/state.js
+4
-1
escheduler-ui/src/js/module/i18n/locale/en_US.js
escheduler-ui/src/js/module/i18n/locale/en_US.js
+4
-2
escheduler-ui/src/js/module/i18n/locale/zh_CN.js
escheduler-ui/src/js/module/i18n/locale/zh_CN.js
+4
-1
未找到文件。
docs/zh_CN/系统架构设计.md
浏览文件 @
a0082a7e
...
...
@@ -13,13 +13,13 @@
**流程定义**
:通过拖拽任务节点并建立任务节点的关联所形成的可视化
**DAG**
**流程实例**
:流程实例是流程定义的实例化,可以通过手动启动或定时调度生成
**流程实例**
:流程实例是流程定义的实例化,可以通过手动启动或定时调度生成
,流程定义每运行一次,产生一个流程实例
**任务实例**
:任务实例是流程定义中任务节点的实例化,标识着具体的任务执行状态
**任务类型**
: 目前支持有SHELL、SQL、SUB_PROCESS
、PROCEDURE、MR、SPARK、PYTHON、DEPENDENT
,同时计划支持动态插件扩展,注意:其中子
**SUB_PROCESS**
也是一个单独的流程定义,是可以单独启动执行的
**任务类型**
: 目前支持有SHELL、SQL、SUB_PROCESS
(子流程)、PROCEDURE、MR、SPARK、PYTHON、DEPENDENT(依赖)
,同时计划支持动态插件扩展,注意:其中子
**SUB_PROCESS**
也是一个单独的流程定义,是可以单独启动执行的
**调度方式:**
系统支持基于cron表达式的定时调度和手动调度。命令类型支持:启动工作流、从当前节点开始执行、恢复被容错的工作流、恢复暂停流程、从失败节点开始执行、补数、
调度
、重跑、暂停、停止、恢复等待线程。其中
**恢复被容错的工作流**
和
**恢复等待线程**
两种命令类型是由调度内部控制使用,外部无法调用
**调度方式:**
系统支持基于cron表达式的定时调度和手动调度。命令类型支持:启动工作流、从当前节点开始执行、恢复被容错的工作流、恢复暂停流程、从失败节点开始执行、补数、
定时
、重跑、暂停、停止、恢复等待线程。其中
**恢复被容错的工作流**
和
**恢复等待线程**
两种命令类型是由调度内部控制使用,外部无法调用
**定时调度**
:系统采用
**quartz**
分布式调度器,并同时支持cron表达式可视化的生成
...
...
escheduler-api/src/main/resources/i18n/messages.properties
浏览文件 @
a0082a7e
QUERY_SCHEDULE_LIST_NOTES
=
query schedule list
EXECUTE_PROCESS_TAG
=
execute process related operation
PROCESS_INSTANCE_EXECUTOR_TAG
=
process instance executor related operation
RUN_PROCESS_INSTANCE_NOTES
=
run process instance
START_NODE_LIST
=
start node list(node name)
TASK_DEPEND_TYPE
=
task depend type
COMMAND_TYPE
=
command type
RUN_MODE
=
run mode
TIMEOUT
=
timeout
EXECUTE_ACTION_TO_PROCESS_INSTANCE_NOTES
=
execute action to process instance
EXECUTE_TYPE
=
execute type
START_CHECK_PROCESS_DEFINITION_NOTES
=
start check process definition
GET_RECEIVER_CC_NOTES
=
query receiver cc
DESC
=
description
GROUP_NAME
=
group name
GROUP_TYPE
=
group type
...
...
escheduler-api/src/main/resources/i18n/messages_en_US.properties
浏览文件 @
a0082a7e
QUERY_SCHEDULE_LIST_NOTES
=
query schedule list
EXECUTE_PROCESS_TAG
=
execute process related operation
PROCESS_INSTANCE_EXECUTOR_TAG
=
process instance executor related operation
RUN_PROCESS_INSTANCE_NOTES
=
run process instance
START_NODE_LIST
=
start node list(node name)
TASK_DEPEND_TYPE
=
task depend type
COMMAND_TYPE
=
command type
RUN_MODE
=
run mode
TIMEOUT
=
timeout
EXECUTE_ACTION_TO_PROCESS_INSTANCE_NOTES
=
execute action to process instance
EXECUTE_TYPE
=
execute type
START_CHECK_PROCESS_DEFINITION_NOTES
=
start check process definition
GET_RECEIVER_CC_NOTES
=
query receiver cc
DESC
=
description
GROUP_NAME
=
group name
GROUP_TYPE
=
group type
...
...
escheduler-api/src/main/resources/i18n/messages_zh_CN.properties
浏览文件 @
a0082a7e
QUERY_SCHEDULE_LIST_NOTES
=
查询定时列表
PROCESS_INSTANCE_EXECUTOR_TAG
=
流程实例执行相关操作
RUN_PROCESS_INSTANCE_NOTES
=
运行流程实例
START_NODE_LIST
=
开始节点列表(节点name)
TASK_DEPEND_TYPE
=
任务依赖类型
COMMAND_TYPE
=
指令类型
RUN_MODE
=
运行模式
TIMEOUT
=
超时时间
EXECUTE_ACTION_TO_PROCESS_INSTANCE_NOTES
=
执行流程实例的各种操作(暂停、停止、重跑、恢复等)
EXECUTE_TYPE
=
执行类型
START_CHECK_PROCESS_DEFINITION_NOTES
=
检查流程定义
DESC
=
备注(描述)
GROUP_NAME
=
组名称
GROUP_TYPE
=
组类型
...
...
escheduler-ui/src/js/conf/home/pages/dag/_source/dag.vue
浏览文件 @
a0082a7e
...
...
@@ -28,6 +28,17 @@
@
click=
"_toggleView"
icon=
"fa fa-code"
>
</x-button>
<x-button
style=
"vertical-align: middle;"
data-toggle=
"tooltip"
:title=
"$t('Startup parameter')"
data-container=
"body"
type=
"primary"
size=
"xsmall"
:disabled=
"$route.name !== 'projects-instance-details'"
@
click=
"_toggleParam"
icon=
"fa fa-chevron-circle-right"
>
</x-button>
<span
class=
"name"
>
{{
name
}}
</span>
<span
v-if=
"name"
class=
"copy-name"
@
click=
"_copyName"
:data-clipboard-text=
"name"
><i
class=
"iconfont"
data-container=
"body"
data-toggle=
"tooltip"
title=
"复制名称"
>

</i></span>
...
...
@@ -383,6 +394,13 @@
_toggleView
()
{
findComponentDownward
(
this
.
$root
,
`assist-dag-index`
).
_toggleView
()
},
/**
* Starting parameters
*/
_toggleParam
()
{
findComponentDownward
(
this
.
$root
,
`starting-params-dag-index`
).
_toggleParam
()
},
/**
* Create a node popup layer
* @param Object id
...
...
escheduler-ui/src/js/conf/home/pages/dag/_source/startingParam/index.vue
0 → 100644
浏览文件 @
a0082a7e
<
template
>
<div
class=
"starting-params-dag-index"
>
<template
v-if=
"isView && isActive"
>
<div
class=
"box"
>
<p
class=
"box-hd"
><i
class=
"fa fa-chevron-circle-right"
></i><b>
{{
$t
(
'
Startup parameter
'
)
}}
</b></p>
<ul
class=
"box-bd"
>
<li><span>
{{
$t
(
'
Startup type
'
)
}}
:
</span><span>
{{
_rtRunningType
(
startupParam
.
commandType
)
}}
</span></li>
<li><span>
{{
$t
(
'
Complement range
'
)
}}
:
</span><span
v-if=
"startupParam.commandParam && startupParam.commandParam.complementStartDate"
>
{{
startupParam
.
commandParam
.
complementStartDate
}}
-
{{
startupParam
.
commandParam
.
complementEndDate
}}
</span><span
v-else
>
-
</span></li>
<li><span>
{{
$t
(
'
Failure Strategy
'
)
}}
:
</span><span>
{{
startupParam
.
failureStrategy
===
'
END
'
?
$t
(
'
End
'
)
:
$t
(
'
Continue
'
)
}}
</span></li>
<li><span>
{{
$t
(
'
Process priority
'
)
}}
:
</span><span>
{{
startupParam
.
processInstancePriority
}}
</span></li>
<li><span>
{{
$t
(
'
Worker group
'
)
}}
:
</span><span
v-if=
"workerGroupList.length"
>
{{
_rtWorkerGroupName
(
startupParam
.
workerGroupId
)
}}
</span></li>
<li><span>
{{
$t
(
'
Notification strategy
'
)
}}
:
</span><span>
{{
_rtWarningType
(
startupParam
.
warningType
)
}}
</span></li>
<li><span>
{{
$t
(
'
Notification group
'
)
}}
:
</span><span
v-if=
"notifyGroupList.length"
>
{{
_rtNotifyGroupName
(
startupParam
.
warningGroupId
)
}}
</span></li>
<li><span>
{{
$t
(
'
Recipient
'
)
}}
:
</span><span>
{{
startupParam
.
receivers
||
'
-
'
}}
</span></li>
<li><span>
{{
$t
(
'
Cc
'
)
}}
:
</span><span>
{{
startupParam
.
receiversCc
||
'
-
'
}}
</span></li>
</ul>
</div>
</
template
>
</div>
</template>
<
script
>
import
store
from
'
@/conf/home/store
'
import
{
runningType
}
from
'
@/conf/home/pages/dag/_source/config
'
import
{
warningTypeList
}
from
'
@/conf/home/pages/projects/pages/definition/pages/list/_source/util
'
export
default
{
name
:
'
starting-params-dag-index
'
,
data
()
{
return
{
store
,
startupParam
:
store
.
state
.
dag
.
startup
,
isView
:
false
,
isActive
:
true
,
notifyGroupList
:
null
,
workerGroupList
:
null
}
},
methods
:
{
_toggleParam
()
{
this
.
isView
=
!
this
.
isView
},
_rtRunningType
(
code
)
{
return
_
.
filter
(
runningType
,
v
=>
v
.
code
===
code
)[
0
].
desc
},
_rtWarningType
(
id
)
{
return
_
.
filter
(
warningTypeList
,
v
=>
v
.
id
===
id
)[
0
].
code
},
_rtNotifyGroupName
(
id
)
{
let
o
=
_
.
filter
(
this
.
notifyGroupList
,
v
=>
v
.
id
===
id
)
if
(
o
&&
o
.
length
)
{
return
o
[
0
].
code
}
return
'
-
'
},
_rtWorkerGroupName
(
id
)
{
let
o
=
_
.
filter
(
this
.
workerGroupList
,
v
=>
v
.
id
===
id
)
if
(
o
&&
o
.
length
)
{
return
o
[
0
].
name
}
return
'
-
'
},
_getNotifyGroupList
()
{
let
notifyGroupListS
=
_
.
cloneDeep
(
this
.
store
.
state
.
dag
.
notifyGroupListS
)
||
[]
if
(
!
notifyGroupListS
.
length
)
{
this
.
store
.
dispatch
(
'
dag/getNotifyGroupList
'
).
then
(
res
=>
{
this
.
notifyGroupList
=
res
})
}
else
{
this
.
notifyGroupList
=
notifyGroupListS
}
},
_getWorkerGroupList
()
{
let
stateWorkerGroupsList
=
this
.
store
.
state
.
security
.
workerGroupsListAll
||
[]
if
(
!
stateWorkerGroupsList
.
length
)
{
this
.
store
.
dispatch
(
'
security/getWorkerGroupsAll
'
).
then
(
res
=>
{
this
.
workerGroupList
=
res
})
}
else
{
this
.
workerGroupList
=
stateWorkerGroupsList
}
}
},
watch
:
{
'
$route
'
:
{
deep
:
true
,
handler
()
{
this
.
isActive
=
false
this
.
notifyGroupList
=
null
this
.
workerGroupList
=
null
this
.
$nextTick
(()
=>
(
this
.
isActive
=
true
))
}
}
},
mounted
()
{
this
.
_getNotifyGroupList
()
this
.
_getWorkerGroupList
()
}
}
</
script
>
<
style
lang=
"scss"
>
.starting-params-dag-index
{
.box
{
padding
:
5px
10px
10px
;
.box-hd
{
.fa
{
color
:
#0097e0
;
margin-right
:
4px
;
}
font-size
:
16px
;
}
.box-bd
{
margin-left
:
20px
;
}
}
}
</
style
>
escheduler-ui/src/js/conf/home/pages/dag/instanceDetails.vue
浏览文件 @
a0082a7e
<
template
>
<div
class=
"home-main index-model"
>
<m-variable></m-variable>
<m-starting-param></m-starting-param>
<m-dag
v-if=
"!isLoading"
:type=
"'instance'"
></m-dag>
<m-spin
:is-spin=
"isLoading"
></m-spin>
</div>
...
...
@@ -10,6 +11,7 @@
import
{
mapActions
,
mapMutations
}
from
'
vuex
'
import
mSpin
from
'
@/module/components/spin/spin
'
import
mVariable
from
'
./_source/variable
'
import
mStartingParam
from
'
./_source/startingParam
'
import
Affirm
from
'
./_source/jumpAffirm
'
import
disabledState
from
'
@/module/mixin/disabledState
'
...
...
@@ -91,6 +93,6 @@
},
mounted
()
{
},
components
:
{
mDag
,
mSpin
,
mVariable
}
components
:
{
mDag
,
mSpin
,
mVariable
,
mStartingParam
}
}
</
script
>
escheduler-ui/src/js/conf/home/store/dag/actions.js
浏览文件 @
a0082a7e
...
...
@@ -149,6 +149,10 @@ export default {
state
.
tenantId
=
processInstanceJson
.
tenantId
//startup parameters
state
.
startup
=
_
.
assign
(
state
.
startup
,
_
.
pick
(
res
.
data
,
[
'
commandType
'
,
'
failureStrategy
'
,
'
processInstancePriority
'
,
'
workerGroupId
'
,
'
warningType
'
,
'
warningGroupId
'
,
'
receivers
'
,
'
receiversCc
'
]))
state
.
startup
.
commandParam
=
JSON
.
parse
(
res
.
data
.
commandParam
)
resolve
(
res
.
data
)
}).
catch
(
res
=>
{
reject
(
res
)
...
...
escheduler-ui/src/js/conf/home/store/dag/state.js
浏览文件 @
a0082a7e
...
...
@@ -92,5 +92,8 @@ export default {
// Process instance list{ view a single record }
instanceListS
:
[],
// Operating state
isDetails
:
false
isDetails
:
false
,
startup
:
{
}
}
escheduler-ui/src/js/module/i18n/locale/en_US.js
浏览文件 @
a0082a7e
...
...
@@ -466,7 +466,9 @@ export default {
'
Statistics manage
'
:
'
Statistics manage
'
,
'
statistics
'
:
'
statistics
'
,
'
select tenant
'
:
'
select tenant
'
,
'
Process Instance Running Count
'
:
'
Process Instance Running Count
'
,
'
Please enter Principal
'
:
'
Please enter Principal
'
,
'
The start time must not be the same as the end
'
:
'
The start time must not be the same as the end
'
'
The start time must not be the same as the end
'
:
'
The start time must not be the same as the end
'
,
'
Startup parameter
'
:
'
Startup parameter
'
,
'
Startup type
'
:
'
Startup type
'
,
'
Complement range
'
:
'
Complement range
'
}
escheduler-ui/src/js/module/i18n/locale/zh_CN.js
浏览文件 @
a0082a7e
...
...
@@ -468,5 +468,8 @@ export default {
'
statistics
'
:
'
统计
'
,
'
select tenant
'
:
'
选择租户
'
,
'
Please enter Principal
'
:
'
请输入Principal
'
,
'
The start time must not be the same as the end
'
:
'
开始时间和结束时间不能相同
'
'
The start time must not be the same as the end
'
:
'
开始时间和结束时间不能相同
'
,
'
Startup parameter
'
:
'
启动参数
'
,
'
Startup type
'
:
'
启动类型
'
,
'
Complement range
'
:
'
补数范围
'
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录