mirror of
https://gitee.com/dolphinscheduler/DolphinScheduler.git
synced 2024-12-04 13:17:50 +08:00
refactor depend result
This commit is contained in:
parent
0e885cd0ee
commit
cdd76d6b11
@ -675,7 +675,6 @@ public class MasterExecThread implements Runnable {
|
||||
if(!completeTaskList.containsKey(depsNode)){
|
||||
return DependResult.WAITING;
|
||||
}
|
||||
// depend node has already complete.
|
||||
ExecutionStatus depTaskState = completeTaskList.get(depsNode).getState();
|
||||
if(depTaskState.typeIsPause() || depTaskState.typeIsCancel()){
|
||||
return DependResult.WAITING;
|
||||
@ -684,13 +683,7 @@ public class MasterExecThread implements Runnable {
|
||||
if(taskNode.isConditionsTask()){
|
||||
continue;
|
||||
}
|
||||
if(dag.getNode(depsNode).isConditionsTask()){
|
||||
//condition task need check the branch to run
|
||||
List<String> nextTaskList = parseConditionTask(depsNode);
|
||||
if(!nextTaskList.contains(taskName)){
|
||||
return DependResult.FAILED;
|
||||
}
|
||||
}else if(depTaskState.typeIsFailure()){
|
||||
if(!dependTaskSuccess(depsNode, taskName)){
|
||||
return DependResult.FAILED;
|
||||
}
|
||||
}
|
||||
@ -698,6 +691,28 @@ public class MasterExecThread implements Runnable {
|
||||
return DependResult.SUCCESS;
|
||||
}
|
||||
|
||||
/**
|
||||
* depend node is completed, but here need check the condition task branch is the next node
|
||||
* @param dependNodeName
|
||||
* @param nextNodeName
|
||||
* @return
|
||||
*/
|
||||
private boolean dependTaskSuccess(String dependNodeName, String nextNodeName){
|
||||
if(dag.getNode(dependNodeName).isConditionsTask()){
|
||||
//condition task need check the branch to run
|
||||
List<String> nextTaskList = parseConditionTask(dependNodeName);
|
||||
if(!nextTaskList.contains(nextNodeName)){
|
||||
return false;
|
||||
}
|
||||
}else {
|
||||
ExecutionStatus depTaskState = completeTaskList.get(dependNodeName).getState();
|
||||
if(depTaskState.typeIsFailure()){
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* query task instance by complete state
|
||||
|
Loading…
Reference in New Issue
Block a user