Commit 6be21201 by huangfusuper

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

parents a4c54902 05778e72
......@@ -11,6 +11,7 @@ import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
@Api(tags = "任务节点api")
@RestController
......@@ -83,4 +84,10 @@ public class ApiNodeController {
return ResponseResult.ok("SUCCESS");
}
@PostMapping("loadCurrentStatusByJobName")
public ResponseResult loadCurrentStatusByJobName(String jobNames){
Map<String, JobTaskRunLog> jobTaskRunLogMap = apiNodeService.loadCurrentStatusByJobName(jobNames);
return ResponseResult.ok(jobTaskRunLogMap);
}
}
......@@ -4,6 +4,7 @@ import com.byit.model.JobTaskRunLog;
import java.text.ParseException;
import java.util.List;
import java.util.Map;
/**
* 任务节点service
......@@ -80,4 +81,11 @@ public interface ApiNodeService {
List<JobTaskRunLog> loadLogByTaskName(String param);
void runJavaTask(String jobName);
/**
* 获取当前任务的状态
* @param jobNames
* @return
*/
Map<String, JobTaskRunLog> loadCurrentStatusByJobName(String jobNames);
}
......@@ -28,9 +28,7 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.text.ParseException;
import java.util.Date;
import java.util.List;
import java.util.UUID;
import java.util.*;
import static com.alibaba.fastjson.serializer.SerializerFeature.WriteClassName;
......@@ -219,8 +217,8 @@ public class ApiNodeServiceImpl implements ApiNodeService {
schedule.setJobType(NodeTypeEnum.JAVA.getCode());
schedule.setTriggerTime(triggerTime);
schedule.setScheduleType(ScheduleTypeEnum.JAVA_SYNC.getCode());
schedule.setRunParam(PlaceholderUtils.formatParam(javaTask.getParam()));
schedule.setPriority("1");
schedule.setRunParam(javaTask.getParam());
JobTaskRunLogWithBLOBs jobTaskRunLog = new JobTaskRunLogWithBLOBs();
BeanUtils.copyProperties(schedule, jobTaskRunLog);
......@@ -235,6 +233,20 @@ public class ApiNodeServiceImpl implements ApiNodeService {
}
@Override
public Map<String, JobTaskRunLog> loadCurrentStatusByJobName(String jobNames) {
ValidationUtil.dataNotBank(jobNames, "jobNames不允许为空!");
List<String> jobNameList = Arrays.asList(jobNames.split(","));
Map<String, JobTaskRunLog> jobTaskRunLogMap = new HashMap<>();
jobNameList.forEach(jobName -> {
JavaTask javaTask = javaTaskMapper.findByJobName(jobName);
ValidationUtil.dataNotNull(javaTask, "没有"+ jobName +"任务实例!");
JobTaskRunLog jobTaskRunLog = jobTaskRunLogMapper.findNewJavaTaskByJobName(javaTask.getId());
jobTaskRunLogMap.put(jobName, jobTaskRunLog);
});
return jobTaskRunLogMap;
}
private JavaTask validate(String param) throws Exception {
ValidationUtil.dataNotBank(param, "请求参数不允许为空!");
JavaTask javaTask = JSON.parseObject(param, JavaTask.class);
......
......@@ -5,6 +5,18 @@ spring:
username: root
password: root
redis:
database: 0
host: 10.0.120.208
password:
port: 6379
timeout: 3000
pool:
max-active: 8
max-idle: 8
max-wait: -1
min-idle: 0
mail:
host: smtp.163.com
username: huangfusuper@163.com
......@@ -14,21 +26,6 @@ spring:
properties:
from: huangfusuper@163.com
spring:
redis:
database: 0
host: 10.0.120.208
password:
port: 6379
timeout: 0
pool:
max-active: 8
max-idle: 8
max-wait: -1
min-idle: 0
mybatis:
mapper-locations: /mapper/*.xml
......
......@@ -5,6 +5,18 @@ spring:
username: ${CM_USER}
password: ${CM_PWD}
redis:
database: 0
host: ${Redis_IP}
port: ${Redis_port}
password:
timeout: 3000
pool:
max-active: 8
max-idle: 8
max-wait: -1
min-idle: 0
mail:
host: smtp.163.com
username: huangfusuper@163.com
......@@ -14,12 +26,6 @@ spring:
properties:
from: huangfusuper@163.com
redis:
database: 0
host: ${Redis_IP}
port: ${Redis_port}
password:
mybatis:
mapper-locations: /mapper/*.xml
......
......@@ -5,6 +5,18 @@ spring:
username: ${CM_USER}
password: ${CM_PWD}
redis:
database: 0
host: ${Redis_IP}
port: ${Redis_port}
password:
timeout: 3000
pool:
max-active: 8
max-idle: 8
max-wait: -1
min-idle: 0
mail:
host: smtp.163.com
username: huangfusuper@163.com
......@@ -14,12 +26,6 @@ spring:
properties:
from: huangfusuper@163.com
redis:
database: 0
host: ${Redis_IP}
port: ${Redis_port}
password:
mybatis:
mapper-locations: /mapper/*.xml
......
......@@ -146,4 +146,6 @@ public interface JobTaskRunLogMapper {
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);
JobTaskRunLog findNewJavaTaskByJobName(Integer javaTaskId);
}
\ No newline at end of file
......@@ -219,9 +219,9 @@ public class JobTask implements Serializable {
private String operator;
/**
* 跑批类型 1 正常跑批 2 重跑 3 补批 4 插件端立即运行
* 跑批类型 1 正常跑批 2 重跑 3 补批 4 插件端立即运行 5 类quartz任务执行
*/
@ApiModelProperty("跑批类型 1 正常跑批 2 重跑 3 补批 4 插件端立即运行")
@ApiModelProperty("跑批类型 1 正常跑批 2 重跑 3 补批 4 插件端立即运行 5 类quartz任务执行")
private Integer scheduleType;
/**
......
......@@ -198,9 +198,9 @@ public class JobTaskRunLog implements Serializable {
private String operator;
/**
* 跑批类型 1 正常跑批 2 重跑 3 补批 4 插件端立即运行
* 跑批类型 1 正常跑批 2 重跑 3 补批 4 插件端立即运行 5 类quartz任务执行
*/
@ApiModelProperty("跑批类型 1 正常跑批 2 重跑 3 补批 4 插件端立即运行")
@ApiModelProperty("跑批类型 1 正常跑批 2 重跑 3 补批 4 插件端立即运行 5 类quartz任务执行")
private Integer scheduleType;
@ApiModelProperty("脚本路径")
......
......@@ -213,9 +213,9 @@ public class JobTaskSchedule implements Serializable {
private String operator;
/**
* 跑批类型 1 正常跑批 2 重跑 3 补批 4 插件端立即运行
* 跑批类型 1 正常跑批 2 重跑 3 补批 4 插件端立即运行 5 类quartz任务执行
*/
@ApiModelProperty("跑批类型 1 正常跑批 2 重跑 3 补批 4 插件端立即运行")
@ApiModelProperty("跑批类型 1 正常跑批 2 重跑 3 补批 4 插件端立即运行 5 类quartz任务执行")
private Integer scheduleType;
/**
......
......@@ -139,9 +139,9 @@ public class RunRecording implements Serializable {
private Integer flowNodeCount;
/**
* 跑批类型 1 正常跑批 2 重跑 3 补批 4 插件端立即运行
* 跑批类型 1 正常跑批 2 重跑 3 补批 4 插件端立即运行 5 类quartz任务执行
*/
@ApiModelProperty("跑批类型 1 正常跑批 2 重跑 3 补批 4 插件端立即运行")
@ApiModelProperty("跑批类型 1 正常跑批 2 重跑 3 补批 4 插件端立即运行 5 类quartz任务执行")
private Integer scheduleType;
/**
......
......@@ -200,7 +200,7 @@
alarm_email = #{alarmEmail,jdbcType=VARCHAR},
</if>
</set>
where job_name = #{jobName,jdbcType=VARCHAR},
where job_name = #{jobName,jdbcType=VARCHAR}
</update>
<select id="findByJobName" resultMap="BaseResultMap">
......
......@@ -163,15 +163,16 @@
<select id="findJavaTaskByJobName" resultMap="BaseResultMap">
select <include refid="Base_Column_List" />
from job_task_run_log
where nodeId = #{nodeId}
where node_id = #{nodeId}
and start_time &gt;= #{startTime}
and end_time &lt;= #{endTime}
and schedule_type = '5'
order by start_time desc
</select>
<select id="findJavaTaskByTaskName" resultMap="BaseResultMap">
select <include refid="Base_Column_List" />
from job_task_run_log
where nodeId in (
where node_id in (
<foreach collection="nodeIdList" item="nodeId" separator=",">
#{nodeId}
</foreach>
......@@ -179,6 +180,18 @@
and start_time &gt;= #{startTime}
and end_time &lt;= #{endTime}
and schedule_type = '5'
order by start_time desc
</select>
<select id="findNewJavaTaskByJobName" resultMap="BaseResultMap">
select <include refid="Base_Column_List"/>
from job_task_run_log
where node_id = #{javaTaskId}
and trigger_time = (
select MAX(trigger_time)
FROM job_task_run_log
where node_id = #{javaTaskId}
and schedule_type = '5'
)
</select>
<delete id="deleteById" parameterType="java.lang.Integer">
......
......@@ -112,32 +112,32 @@ public class JobUtils {
/**
* 添加任务
*/
private static final String REQUEST_ADD_JAVATASK = "api/node/addJavaTask";
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_UPDATE_JAVATASK = "/api/node/updateJavaTask";
/**
* 删除任务
*/
private static final String REQUEST_DELETE_JAVATASK = "api/node/deleteJavaTask";
private static final String REQUEST_DELETE_JAVATASK = "/api/node/deleteJavaTask";
/**
* 判断是否存在任务, 存在 true 不存在 false
*/
private static final String REQUEST_EXIST_JAVATASK = "api/node/existJavaTask";
private static final String REQUEST_EXIST_JAVATASK = "/api/node/existJavaTask";
/**
* 根据jobName获取日志
*/
private static final String REQUEST_LOADLOG_JOBNAME = "api/node/loadLogByJobName";
private static final String REQUEST_LOADLOG_JOBNAME = "/api/node/loadLogByJobName";
/**
* 根据taskName获取日志
*/
private static final String REQUEST_LOADLOG_TASKNAME = "api/node/loadLogByTaskName";
private static final String REQUEST_LOADLOG_TASKNAME = "/api/node/loadLogByTaskName";
/**
* 立即运行quartz任务
*/
private static final String REQUEST_RUN_JAVATASK = "api/node/runJavaTask";
private static final String REQUEST_RUN_JAVATASK = "/api/node/runJavaTask";
/**
* 当前项目运行环境 jar file
*/
......@@ -521,7 +521,7 @@ public class JobUtils {
*/
public static ResponseResult deleteJavaTask(String jobName){
log.info("-------------删除任务----------------------");
String response = createHttpRequest(REQUEST_DELETE_JAVATASK, "param=" + jobName);
String response = createHttpRequest(REQUEST_DELETE_JAVATASK, "jobName=" + jobName);
log.info("--------------------删除任务,结果为:{}------------------------",response);
return JSON.parseObject(response, ResponseResult.class);
}
......@@ -535,7 +535,7 @@ public class JobUtils {
*/
public static ResponseResult existJavaTask(String jobName){
log.info("-------------判断是否存在任务----------------------");
String response = createHttpRequest(REQUEST_EXIST_JAVATASK, "param=" + jobName);
String response = createHttpRequest(REQUEST_EXIST_JAVATASK, "jobName=" + jobName);
log.info("--------------------判断是否存在任务,结果为:{}------------------------",response);
return JSON.parseObject(response, ResponseResult.class);
}
......
......@@ -20,9 +20,15 @@ myth-job:
spring:
redis:
database: 0
host: 10.0.120.30
port: 6379
host: 10.0.120.208
password:
port: 6379
timeout: 3000
pool:
max-active: 8
max-idle: 8
max-wait: -1
min-idle: 0
authentication:
user:
......
......@@ -20,9 +20,16 @@ myth-job:
spring:
redis:
database: 0
host: 10.0.120.218
port: 6379
host: 10.0.120.208
password:
port: 6379
timeout: 3000
pool:
max-active: 8
max-idle: 8
max-wait: -1
min-idle: 0
authentication:
user:
header-name: token
......
......@@ -24,6 +24,12 @@ spring:
host: ${Redis_IP}
port: ${Redis_port}
password:
timeout: 3000
pool:
max-active: 8
max-idle: 8
max-wait: -1
min-idle: 0
authentication:
user:
......
......@@ -24,6 +24,12 @@ spring:
host: ${Redis_IP}
port: ${Redis_port}
password:
timeout: 3000
pool:
max-active: 8
max-idle: 8
max-wait: -1
min-idle: 0
authentication:
user:
......
......@@ -69,4 +69,15 @@
<artifactId>hutool-all</artifactId>
</dependency>
</dependencies>
<distributionManagement>
<repository>
<id>releases</id>
<url>http://10.0.120.2/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<url>http://10.0.120.2/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
</project>
\ No newline at end of file
......@@ -27,4 +27,14 @@
</dependency>
</dependencies>
<distributionManagement>
<repository>
<id>releases</id>
<url>http://10.0.120.2/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<url>http://10.0.120.2/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
</project>
\ No newline at end of file
......@@ -35,4 +35,15 @@
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
<distributionManagement>
<repository>
<id>releases</id>
<url>http://10.0.120.2/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<url>http://10.0.120.2/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
</project>
\ No newline at end of file
......@@ -18,5 +18,16 @@
<module>plugin-spring-boot-starter</module>
</modules>
<distributionManagement>
<repository>
<id>releases</id>
<url>http://10.0.120.2/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<url>http://10.0.120.2/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
</project>
\ No newline at end of file
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