Commit ddf0cd83 by guominglei

添加查看运行历史接口和调用接口工具添加

parent a8ef595a
...@@ -65,4 +65,16 @@ public class ApiNodeController { ...@@ -65,4 +65,16 @@ public class ApiNodeController {
return result; return result;
} }
@PostMapping("loadLogByJobName")
public ResponseResult loadLogByJobName(String param){
List<JobTaskRunLog> jobTaskRunLogList = apiNodeService.loadLogByJobName(param);
return ResponseResult.ok(jobTaskRunLogList);
}
@PostMapping("loadLogByTaskName")
public ResponseResult loadLogByTaskName(String param){
List<JobTaskRunLog> jobTaskRunLogList = apiNodeService.loadLogByTaskName(param);
return ResponseResult.ok(jobTaskRunLogList);
}
} }
...@@ -67,4 +67,15 @@ public interface ApiNodeService { ...@@ -67,4 +67,15 @@ public interface ApiNodeService {
* @return java.lang.Boolean * @return java.lang.Boolean
*/ */
Boolean existJavaTask(String jobName); Boolean existJavaTask(String jobName);
/**
* 功能描述 根据jobName获取日志
* @author gml
* @date 2020-04-14 16:10
* @param param
* @return java.util.List<com.byit.model.JobTaskRunLog>
*/
List<JobTaskRunLog> loadLogByJobName(String param);
List<JobTaskRunLog> loadLogByTaskName(String param);
} }
package com.byit.service.impl; package com.byit.service.impl;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.byit.dto.plugin.JavaTask; import com.byit.dto.plugin.JavaTask;
import com.byit.dto.plugin.RunLog; import com.byit.dto.plugin.RunLog;
import com.byit.dto.plugin.RunNode; import com.byit.dto.plugin.RunNode;
...@@ -167,6 +168,39 @@ public class ApiNodeServiceImpl implements ApiNodeService { ...@@ -167,6 +168,39 @@ public class ApiNodeServiceImpl implements ApiNodeService {
return true; return true;
} }
@Override
public List<JobTaskRunLog> loadLogByJobName(String param) {
ValidationUtil.dataNotBank(param, "请求参数不允许为空!");
JSONObject jsonObject = JSON.parseObject(param);
String jobName = jsonObject.getString("jobName");
ValidationUtil.dataNotBank(jobName, "jobName不允许为空!");
Long startTime = jsonObject.getLong("startTime");
ValidationUtil.dataNotNull(startTime, "开始时间不允许为空!");
Long endTime = jsonObject.getLong("endTime");
ValidationUtil.dataNotNull(endTime, "结束时间不允许为空!");
JavaTask javaTask = javaTaskMapper.findByJobName(jobName);
ValidationUtil.dataNotNull(javaTask, "没有此任务实例!");
List<JobTaskRunLog> jobTaskRunLogList = jobTaskRunLogMapper.findJavaTaskByJobName(javaTask.getId(), new Date(startTime), new Date(endTime));
return jobTaskRunLogList;
}
@Override
public List<JobTaskRunLog> loadLogByTaskName(String param) {
ValidationUtil.dataNotBank(param, "请求参数不允许为空!");
JSONObject jsonObject = JSON.parseObject(param);
String taskName = jsonObject.getString("taskName");
ValidationUtil.dataNotBank(taskName, "jobName不允许为空!");
Long startTime = jsonObject.getLong("startTime");
ValidationUtil.dataNotNull(startTime, "开始时间不允许为空!");
Long endTime = jsonObject.getLong("endTime");
ValidationUtil.dataNotNull(endTime, "结束时间不允许为空!");
List<Integer> javaTaskIdList = javaTaskMapper.findIdByTaskName(taskName);
ValidationUtil.dataNotNull(javaTaskIdList, "查无此任务");
List<JobTaskRunLog> jobTaskRunLogList = jobTaskRunLogMapper.findJavaTaskByTaskName(javaTaskIdList, new Date(startTime), new Date(endTime));
return jobTaskRunLogList;
}
private JavaTask validate(String param) throws Exception { private JavaTask validate(String param) throws Exception {
ValidationUtil.dataNotBank(param, "请求参数不允许为空!"); ValidationUtil.dataNotBank(param, "请求参数不允许为空!");
JavaTask javaTask = JSON.parseObject(param, JavaTask.class); JavaTask javaTask = JSON.parseObject(param, JavaTask.class);
......
...@@ -2,6 +2,8 @@ package com.byit.mapper; ...@@ -2,6 +2,8 @@ package com.byit.mapper;
import com.byit.dto.plugin.JavaTask; import com.byit.dto.plugin.JavaTask;
import java.util.List;
public interface JavaTaskMapper { public interface JavaTaskMapper {
int deleteById(Integer id); int deleteById(Integer id);
...@@ -16,4 +18,8 @@ public interface JavaTaskMapper { ...@@ -16,4 +18,8 @@ public interface JavaTaskMapper {
int deleteByJobName(String jobName); int deleteByJobName(String jobName);
int updateByJobName(JavaTask javaTask); int updateByJobName(JavaTask javaTask);
List<Integer> findIdByTaskName(String taskName);
List<JavaTask> findByTaskName(String taskName);
} }
\ No newline at end of file
...@@ -133,4 +133,17 @@ public interface JobTaskRunLogMapper { ...@@ -133,4 +133,17 @@ public interface JobTaskRunLogMapper {
* @return * @return
*/ */
List<JobTaskRunLog> findbyRunIdAndFlowIdList(@Param("runId")String runId, @Param("flowIdList")List<Integer> flowIdList); List<JobTaskRunLog> findbyRunIdAndFlowIdList(@Param("runId")String runId, @Param("flowIdList")List<Integer> flowIdList);
/**
* 功能描述 根据javatask的id和开始时间和结束时间获取日志
* @author gml
* @date 2020-04-14 16:16
* @param nodeId
* @param startTime
* @param endTime
* @return java.util.List<com.byit.model.JobTaskRunLog>
*/
List<JobTaskRunLog> findJavaTaskByJobName(@Param("nodeId")Integer nodeId, @Param("startTime")Date startTime, @Param("endTime")Date endTime);
List<JobTaskRunLog> findJavaTaskByTaskName(@Param("nodeIdList")List<Integer> nodeIdList, @Param("startTime")Date startTime, @Param("endTime")Date endTime);
} }
\ No newline at end of file
...@@ -201,5 +201,16 @@ ...@@ -201,5 +201,16 @@
from java_task from java_task
where job_name = #{jobName,jdbcType=VARCHAR} where job_name = #{jobName,jdbcType=VARCHAR}
</select> </select>
<select id="findIdByTaskName" resultType="java.lang.Integer">
select id
from java_task
where task_name = #{taskName,jdbcType=VARCHAR}
</select>
<select id="findByTaskName" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from java_task
where task_name = #{taskName,jdbcType=VARCHAR}
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -160,6 +160,26 @@ ...@@ -160,6 +160,26 @@
) )
</if> </if>
</select> </select>
<select id="findJavaTaskByJobName" resultMap="BaseResultMap">
select <include refid="Base_Column_List" />
from job_task_run_log
where nodeId = #{nodeId}
and start_time &gt;= #{startTime}
and end_time &lt;= #{endTime}
and schedule_type = '5'
</select>
<select id="findJavaTaskByTaskName" resultMap="BaseResultMap">
select <include refid="Base_Column_List" />
from job_task_run_log
where nodeId in (
<foreach collection="nodeIdList" item="nodeId" separator=",">
#{nodeId}
</foreach>
)
and start_time &gt;= #{startTime}
and end_time &lt;= #{endTime}
and schedule_type = '5'
</select>
<delete id="deleteById" parameterType="java.lang.Integer"> <delete id="deleteById" parameterType="java.lang.Integer">
delete from job_task_run_log delete from job_task_run_log
......
...@@ -3,6 +3,7 @@ package com.byit.utils; ...@@ -3,6 +3,7 @@ package com.byit.utils;
import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpRequest;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.byit.dto.executor.PluginBeanJobInfo; import com.byit.dto.executor.PluginBeanJobInfo;
import com.byit.dto.plugin.JavaTask;
import com.byit.dto.plugin.PluginPackage; import com.byit.dto.plugin.PluginPackage;
import com.byit.dto.plugin.RunInfo; import com.byit.dto.plugin.RunInfo;
import com.byit.dto.plugin.RunNode; import com.byit.dto.plugin.RunNode;
...@@ -107,6 +108,31 @@ public class JobUtils { ...@@ -107,6 +108,31 @@ public class JobUtils {
private static final String REQUEST_REAL_EXECT = "/api/node/runNode"; private static final String REQUEST_REAL_EXECT = "/api/node/runNode";
private static final String REQUEST_RUN_HISTORY = "/api/node/runHistory"; private static final String REQUEST_RUN_HISTORY = "/api/node/runHistory";
/**
* 添加任务
*/
private static final String REQUEST_ADD_JAVATASK = "api/node/addJavaTask";
/**
* 修改任务
*/
private static final String REQUEST_UPDATE_JAVATASK = "api/node/updateJavaTask";
/**
* 删除任务
*/
private static final String REQUEST_DELETE_JAVATASK = "api/node/deleteJavaTask";
/**
* 判断是否存在任务, 存在 true 不存在 false
*/
private static final String REQUEST_EXIST_JAVATASK = "api/node/existJavaTask";
/**
* 根据jobName获取日志
*/
private static final String REQUEST_LOADLOG_JOBNAME = "api/node/loadLogByJobName";
/**
* 根据taskName获取日志
*/
private static final String REQUEST_LOADLOG_TASKNAME = "api/node/loadLogByTaskName";
/** /**
* 当前项目运行环境 jar file * 当前项目运行环境 jar file
*/ */
...@@ -454,6 +480,102 @@ public class JobUtils { ...@@ -454,6 +480,102 @@ public class JobUtils {
} }
/** /**
* 功能描述 添加任务
* @author gml
* @date 2020-04-14 16:50
* @param javaTask
* @return com.byit.dto.web.ResponseResult
*/
public static ResponseResult addJavaTask(JavaTask javaTask){
log.info("-------------添加任务----------------------");
String response = createHttpRequest(REQUEST_ADD_JAVATASK, "param=" + JSON.toJSONString(javaTask, WriteClassName));
log.info("--------------------添加任务,结果为:{}------------------------",response);
return JSON.parseObject(response, ResponseResult.class);
}
/**
* 功能描述 修改任务
* @author gml
* @date 2020-04-14 16:50
* @param javaTask
* @return com.byit.dto.web.ResponseResult
*/
public static ResponseResult updateJavaTask(JavaTask javaTask){
log.info("-------------修改任务----------------------");
String response = createHttpRequest(REQUEST_UPDATE_JAVATASK, "param=" + JSON.toJSONString(javaTask, WriteClassName));
log.info("--------------------修改任务,结果为:{}------------------------",response);
return JSON.parseObject(response, ResponseResult.class);
}
/**
* 功能描述 修改任务
* @author gml
* @date 2020-04-14 16:50
* @param jobName
* @return com.byit.dto.web.ResponseResult
*/
public static ResponseResult deleteJavaTask(String jobName){
log.info("-------------删除任务----------------------");
String response = createHttpRequest(REQUEST_DELETE_JAVATASK, "param=" + jobName);
log.info("--------------------删除任务,结果为:{}------------------------",response);
return JSON.parseObject(response, ResponseResult.class);
}
/**
* 功能描述 判断是否存在任务 存在 true 不存在 false
* @author gml
* @date 2020-04-14 16:50
* @param jobName
* @return com.byit.dto.web.ResponseResult
*/
public static ResponseResult existJavaTask(String jobName){
log.info("-------------判断是否存在任务----------------------");
String response = createHttpRequest(REQUEST_EXIST_JAVATASK, "param=" + jobName);
log.info("--------------------判断是否存在任务,结果为:{}------------------------",response);
return JSON.parseObject(response, ResponseResult.class);
}
/**
* 功能描述 根据jobName获取运行日志
* @author gml
* @date 2020-04-14 16:53
* @param jobName jobName
* @param startTime 开始时间 毫秒级时间戳
* @param endTime 结束时间 毫秒级时间戳
* @return com.byit.dto.web.ResponseResult
*/
public static ResponseResult loadLogByJobName(String jobName, Long startTime, Long endTime){
log.info("-------------根据jobName获取运行日志----------------------");
Map<String, Object> map = new HashMap<>();
map.put("jobName", jobName);
map.put("startTime", startTime);
map.put("endTime", endTime);
String response = createHttpRequest(REQUEST_LOADLOG_JOBNAME, "param=" + JSON.toJSONString(map));
log.info("--------------------根据jobName获取运行日志,结果为:{}------------------------",response);
return JSON.parseObject(response, ResponseResult.class);
}
/**
* 功能描述 根据taskName获取运行日志
* @author gml
* @date 2020-04-14 16:53
* @param taskName taskName
* @param startTime 开始时间 毫秒级时间戳
* @param endTime 结束时间 毫秒级时间戳
* @return com.byit.dto.web.ResponseResult
*/
public static ResponseResult loadLogByTaskName(String taskName, Long startTime, Long endTime){
log.info("-------------根据taskName获取运行日志----------------------");
Map<String, Object> map = new HashMap<>();
map.put("taskName", taskName);
map.put("startTime", startTime);
map.put("endTime", endTime);
String response = createHttpRequest(REQUEST_LOADLOG_TASKNAME, "param=" + JSON.toJSONString(map));
log.info("--------------------根据taskName获取运行日志,结果为:{}------------------------",response);
return JSON.parseObject(response, ResponseResult.class);
}
/**
* 判断当前的运行环境是什么 jar : table of Contents(目录) * 判断当前的运行环境是什么 jar : table of Contents(目录)
* @return jar -->true 目录 -->false * @return jar -->true 目录 -->false
*/ */
...@@ -478,16 +600,4 @@ public class JobUtils { ...@@ -478,16 +600,4 @@ public class JobUtils {
return path; return path;
} }
public static void main(String[] args) {
RunNode runNode = new RunNode();
runNode.setScriptUrl("ddmp/M00/00/00/CgB4Al5wa36AaUJ7AAAAiYy1k-k9801.py");
runNode.setJobType("PYTHON");
runNode.setNodeId("2");
runNode.setNodeName("lijkki");
runNode.setRunCmd("python ${biz_file}");
JobUtils.setRequestUrl("http://127.0.0.1:8998/myth-job-admin");
JobUtils.setTOKEN("test");
JobUtils.realExectNode(runNode);
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment