Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
apache
DolphinScheduler
提交
3286f15e
DolphinScheduler
项目概览
apache
/
DolphinScheduler
上一次同步 1 年多
通知
707
Star
9572
Fork
3514
代码
文件
提交
分支
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,发现更多精彩内容 >>
未验证
提交
3286f15e
编写于
6月 26, 2019
作者:
journey2018
提交者:
GitHub
6月 26, 2019
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #489 from qiaozhanwei/branch-1.0.2
qianfan task result add judge update
上级
fe077894
8b88cd0b
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
60 addition
and
14 deletion
+60
-14
escheduler-server/src/main/java/cn/escheduler/server/worker/runner/TaskScheduleThread.java
...n/escheduler/server/worker/runner/TaskScheduleThread.java
+60
-14
未找到文件。
escheduler-server/src/main/java/cn/escheduler/server/worker/runner/TaskScheduleThread.java
浏览文件 @
3286f15e
...
...
@@ -25,15 +25,19 @@ import cn.escheduler.common.model.TaskNode;
import
cn.escheduler.common.process.Property
;
import
cn.escheduler.common.task.AbstractParameters
;
import
cn.escheduler.common.task.TaskTimeoutParameter
;
import
cn.escheduler.common.utils.CommonUtils
;
import
cn.escheduler.common.utils.DateUtils
;
import
cn.escheduler.common.utils.HadoopUtils
;
import
cn.escheduler.common.utils.TaskParametersUtils
;
import
cn.escheduler.common.task.mr.MapreduceParameters
;
import
cn.escheduler.common.task.procedure.ProcedureParameters
;
import
cn.escheduler.common.task.python.PythonParameters
;
import
cn.escheduler.common.task.shell.ShellParameters
;
import
cn.escheduler.common.task.spark.SparkParameters
;
import
cn.escheduler.common.task.sql.SqlParameters
;
import
cn.escheduler.common.utils.*
;
import
cn.escheduler.dao.ProcessDao
;
import
cn.escheduler.dao.TaskRecordDao
;
import
cn.escheduler.dao.model.ProcessInstance
;
import
cn.escheduler.dao.model.TaskInstance
;
import
cn.escheduler.server.utils.LoggerUtils
;
import
cn.escheduler.server.utils.ParamUtils
;
import
cn.escheduler.server.worker.log.TaskLogger
;
import
cn.escheduler.server.worker.task.AbstractTask
;
import
cn.escheduler.server.worker.task.TaskManager
;
...
...
@@ -144,6 +148,7 @@ public class TaskScheduleThread implements Callable<Boolean> {
TaskNode
taskNode
=
JSONObject
.
parseObject
(
taskJson
,
TaskNode
.
class
);
List
<
String
>
projectRes
=
createProjectResFiles
(
taskNode
);
// copy hdfs file to local
...
...
@@ -205,17 +210,25 @@ public class TaskScheduleThread implements Callable<Boolean> {
// task recor flat : if true , start up qianfan
if
(
TaskRecordDao
.
getTaskRecordFlag
()
&&
TaskType
.
typeIsNormalTask
(
taskInstance
.
getTaskType
())){
Date
scheduleTime
=
processInstance
.
getScheduleTime
();
if
(
scheduleTime
==
null
){
scheduleTime
=
processInstance
.
getStartTime
();
}
// process exec time : yyyyMMdd format
String
scheduleDate
=
DateUtils
.
format
(
scheduleTime
,
Constants
.
YYYYMMDD
);
TaskRecordStatus
taskRecordState
=
TaskRecordDao
.
getTaskRecordState
(
taskInstance
.
getName
(),
scheduleDate
);
logger
.
info
(
"task record status : {}"
,
taskRecordState
);
if
(
taskRecordState
==
TaskRecordStatus
.
FAILURE
){
status
=
ExecutionStatus
.
FAILURE
;
AbstractParameters
params
=
(
AbstractParameters
)
JSONUtils
.
parseObject
(
taskProps
.
getTaskParams
(),
getCurTaskParamsClass
());
// replace placeholder
Map
<
String
,
Property
>
paramsMap
=
ParamUtils
.
convert
(
taskProps
.
getUserDefParamsMap
(),
taskProps
.
getDefinedParams
(),
params
.
getLocalParametersMap
(),
processInstance
.
getCmdTypeIfComplement
(),
processInstance
.
getScheduleTime
());
if
(
paramsMap
!=
null
&&
!
paramsMap
.
isEmpty
()
&&
paramsMap
.
containsKey
(
"v_proc_date"
)){
String
vProcDate
=
paramsMap
.
get
(
"v_proc_date"
).
getValue
();
if
(!
StringUtils
.
isEmpty
(
vProcDate
)){
TaskRecordStatus
taskRecordState
=
TaskRecordDao
.
getTaskRecordState
(
taskInstance
.
getName
(),
vProcDate
);
logger
.
info
(
"task record status : {}"
,
taskRecordState
);
if
(
taskRecordState
==
TaskRecordStatus
.
FAILURE
){
status
=
ExecutionStatus
.
FAILURE
;
}
}
}
}
...
...
@@ -271,6 +284,39 @@ public class TaskScheduleThread implements Callable<Boolean> {
}
/**
* get current task parameter class
* @return
*/
private
Class
getCurTaskParamsClass
(){
Class
paramsClass
=
null
;
TaskType
taskType
=
TaskType
.
valueOf
(
taskInstance
.
getTaskType
());
switch
(
taskType
){
case
SHELL:
paramsClass
=
ShellParameters
.
class
;
break
;
case
SQL:
paramsClass
=
SqlParameters
.
class
;
break
;
case
PROCEDURE:
paramsClass
=
ProcedureParameters
.
class
;
break
;
case
MR:
paramsClass
=
MapreduceParameters
.
class
;
break
;
case
SPARK:
paramsClass
=
SparkParameters
.
class
;
break
;
case
PYTHON:
paramsClass
=
PythonParameters
.
class
;
break
;
default
:
logger
.
error
(
"not support this task type: {}"
,
taskType
);
throw
new
IllegalArgumentException
(
"not support this task type"
);
}
return
paramsClass
;
}
/**
* kill task
*/
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录