From 60a13bf5eca2f6a60edad254838dad5ad7ec321c Mon Sep 17 00:00:00 2001 From: lgcareer <18610854716@163.com> Date: Mon, 30 Sep 2019 15:31:48 +0800 Subject: [PATCH] cal duration in processInstancesList (#943) * rename from DatasourceUserMapper to DataSourceUserMapper * add unit test in UserMapper and WorkerGroupMapper * change cn.escheduler to org.apache.dolphinscheduler * add unit test in UdfFuncMapperTest * add unit test in UdfFuncMapperTest * remove DatabaseConfiguration * add ConnectionFactoryTest * cal duration in processInstancesList --- .../api/service/ProcessDefinitionService.java | 3 +++ .../api/service/ProcessInstanceService.java | 4 ++++ .../server/worker/task/sql/SqlTask.java | 19 ++++++++++++------- 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/ProcessDefinitionService.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/ProcessDefinitionService.java index d1d564e059..f27012a85d 100644 --- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/ProcessDefinitionService.java +++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/ProcessDefinitionService.java @@ -915,6 +915,9 @@ public class ProcessDefinitionService extends BaseDAGService { */ List processInstanceList = processInstanceMapper.queryByProcessDefineId(processId, limit); + for(ProcessInstance processInstance:processInstanceList){ + processInstance.setDuration(DateUtils.differSec(processInstance.getStartTime(),processInstance.getEndTime())); + } if (limit > processInstanceList.size()) { limit = processInstanceList.size(); diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/ProcessInstanceService.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/ProcessInstanceService.java index e7bf3526de..857b5f2b16 100644 --- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/ProcessInstanceService.java +++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/ProcessInstanceService.java @@ -193,6 +193,10 @@ public class ProcessInstanceService extends BaseDAGService { processInstanceMapper.queryProcessInstanceListPaging(page, project.getId(), processDefineId, searchVal, statusArray, host, start, end); + for(ProcessInstance processInstance:processInstanceList.getRecords()){ + processInstance.setDuration(DateUtils.differSec(processInstance.getStartTime(),processInstance.getEndTime())); + } + Set exclusionSet = new HashSet(){{ add(Constants.CLASS); add("locations"); diff --git a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/task/sql/SqlTask.java b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/task/sql/SqlTask.java index 2e82276040..73eb0d1489 100644 --- a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/task/sql/SqlTask.java +++ b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/task/sql/SqlTask.java @@ -16,6 +16,11 @@ */ package org.apache.dolphinscheduler.server.worker.task.sql; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson.serializer.SerializerFeature; +import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.EnumUtils; import org.apache.dolphinscheduler.alert.utils.MailUtils; import org.apache.dolphinscheduler.common.enums.ShowType; import org.apache.dolphinscheduler.common.enums.TaskTimeoutStrategy; @@ -41,11 +46,6 @@ import org.apache.dolphinscheduler.server.utils.ParamUtils; import org.apache.dolphinscheduler.server.utils.UDFUtils; import org.apache.dolphinscheduler.server.worker.task.AbstractTask; import org.apache.dolphinscheduler.server.worker.task.TaskProps; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import com.alibaba.fastjson.serializer.SerializerFeature; -import org.apache.commons.lang.StringUtils; -import org.apache.commons.lang3.EnumUtils; import org.slf4j.Logger; import java.sql.*; @@ -55,7 +55,7 @@ import java.util.regex.Pattern; import java.util.stream.Collectors; import static org.apache.dolphinscheduler.common.Constants.*; -import static org.apache.dolphinscheduler.common.enums.DbType.*; +import static org.apache.dolphinscheduler.common.enums.DbType.HIVE; /** * sql task */ @@ -162,7 +162,12 @@ public class SqlTask extends AbstractTask { boolean udfTypeFlag = EnumUtils.isValidEnum(UdfType.class, sqlParameters.getType()) && StringUtils.isNotEmpty(sqlParameters.getUdfs()); if(udfTypeFlag){ - List udfFuncList = processDao.queryUdfFunListByids(sqlParameters.getUdfs()); + String[] ids = sqlParameters.getUdfs().split(","); + int[] idsArray = new int[ids.length]; + for(int i=0;i udfFuncList = processDao.queryUdfFunListByids(idsArray); createFuncs = UDFUtils.createFuncs(udfFuncList, taskProps.getTenantCode(), logger); }