Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
B
byit-myth-job
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
liyuan
byit-myth-job
Commits
ddf0cd83
Commit
ddf0cd83
authored
Apr 14, 2020
by
guominglei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加查看运行历史接口和调用接口工具添加
parent
a8ef595a
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
232 additions
and
12 deletions
+232
-12
ApiNodeController.java
...h-admin/src/main/java/com/byit/api/ApiNodeController.java
+12
-0
ApiNodeService.java
...-admin/src/main/java/com/byit/service/ApiNodeService.java
+11
-0
ApiNodeServiceImpl.java
...c/main/java/com/byit/service/impl/ApiNodeServiceImpl.java
+34
-0
JavaTaskMapper.java
...in-core/src/main/java/com/byit/mapper/JavaTaskMapper.java
+7
-0
JobTaskRunLogMapper.java
...re/src/main/java/com/byit/mapper/JobTaskRunLogMapper.java
+14
-0
JavaTaskMapper.xml
...h-admin-core/src/main/resources/mapper/JavaTaskMapper.xml
+12
-0
JobTaskRunLogMapper.xml
...in-core/src/main/resources/mapper/JobTaskRunLogMapper.xml
+20
-0
JobUtils.java
...xecutor-plugin/src/main/java/com/byit/utils/JobUtils.java
+122
-12
No files found.
byit-myth-admin/src/main/java/com/byit/api/ApiNodeController.java
View file @
ddf0cd83
...
@@ -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
);
}
}
}
byit-myth-admin/src/main/java/com/byit/service/ApiNodeService.java
View file @
ddf0cd83
...
@@ -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
);
}
}
byit-myth-admin/src/main/java/com/byit/service/impl/ApiNodeServiceImpl.java
View file @
ddf0cd83
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
);
...
...
byit-myth-core/myth-admin-core/src/main/java/com/byit/mapper/JavaTaskMapper.java
View file @
ddf0cd83
...
@@ -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
byit-myth-core/myth-admin-core/src/main/java/com/byit/mapper/JobTaskRunLogMapper.java
View file @
ddf0cd83
...
@@ -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
byit-myth-core/myth-admin-core/src/main/resources/mapper/JavaTaskMapper.xml
View file @
ddf0cd83
...
@@ -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
byit-myth-core/myth-admin-core/src/main/resources/mapper/JobTaskRunLogMapper.xml
View file @
ddf0cd83
...
@@ -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
>
= #{startTime}
and end_time
<
= #{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
>
= #{startTime}
and end_time
<
= #{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
...
...
byit-myth-executor/myth-executor-plugin/src/main/java/com/byit/utils/JobUtils.java
View file @
ddf0cd83
...
@@ -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
);
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment