Commit baf1d057 by huangfusuper

Merge remote-tracking branch 'origin/developer' into developer

# Conflicts:
#	byit-myth-core/myth-admin-core/src/main/java/com/byit/mapper/JavaTaskMapper.java
parents 22ef2245 ddf0cd83
......@@ -65,4 +65,16 @@ public class ApiNodeController {
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 {
* @return java.lang.Boolean
*/
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;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.byit.dto.plugin.JavaTask;
import com.byit.dto.plugin.RunLog;
import com.byit.dto.plugin.RunNode;
......@@ -167,6 +168,39 @@ public class ApiNodeServiceImpl implements ApiNodeService {
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 {
ValidationUtil.dataNotBank(param, "请求参数不允许为空!");
JavaTask javaTask = JSON.parseObject(param, JavaTask.class);
......
......@@ -10,13 +10,6 @@ import java.util.List;
public interface JavaTaskMapper {
int deleteById(Integer id);
/**
* 当前时间+设定时间要执行的类
* @param triggerTime
* @return
*/
List<JavaTask> findAllByTriggerTimeLessThanEqual(@Param("triggerTime") Long triggerTime);
int insertSelective(JavaTask record);
JavaTask getById(Integer id);
......
......@@ -133,4 +133,17 @@ public interface JobTaskRunLogMapper {
* @return
*/
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
......@@ -209,5 +209,16 @@
from java_task
where job_name = #{jobName,jdbcType=VARCHAR}
</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>
\ No newline at end of file
......@@ -160,6 +160,26 @@
)
</if>
</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 from job_task_run_log
......
......@@ -3,6 +3,7 @@ package com.byit.utils;
import cn.hutool.http.HttpRequest;
import com.alibaba.fastjson.JSON;
import com.byit.dto.executor.PluginBeanJobInfo;
import com.byit.dto.plugin.JavaTask;
import com.byit.dto.plugin.PluginPackage;
import com.byit.dto.plugin.RunInfo;
import com.byit.dto.plugin.RunNode;
......@@ -107,6 +108,31 @@ public class JobUtils {
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_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
*/
......@@ -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(目录)
* @return jar -->true 目录 -->false
*/
......@@ -478,16 +600,4 @@ public class JobUtils {
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