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
7ff0d8f0
Commit
7ff0d8f0
authored
May 15, 2020
by
guominglei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
杀死立即运行节点接口
parent
5fb41210
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
41 additions
and
4 deletions
+41
-4
ApiNodeController.java
...h-admin/src/main/java/com/byit/api/ApiNodeController.java
+7
-0
ApiNodeService.java
...-admin/src/main/java/com/byit/service/ApiNodeService.java
+2
-0
ApiNodeServiceImpl.java
...c/main/java/com/byit/service/impl/ApiNodeServiceImpl.java
+32
-4
No files found.
byit-myth-admin/src/main/java/com/byit/api/ApiNodeController.java
View file @
7ff0d8f0
...
@@ -33,6 +33,13 @@ public class ApiNodeController {
...
@@ -33,6 +33,13 @@ public class ApiNodeController {
return
monitorKey
;
return
monitorKey
;
}
}
@PostMapping
(
"killNode"
)
public
String
killNode
(
Integer
logId
){
log
.
info
(
"----------=--killNode方法接收到参数为:{}--------------"
,
logId
);
apiNodeService
.
killNode
(
logId
);
return
"SUCCESS"
;
}
@PostMapping
(
"runHistory"
)
@PostMapping
(
"runHistory"
)
public
ResponseResult
runHistory
(
String
nodeId
){
public
ResponseResult
runHistory
(
String
nodeId
){
...
...
byit-myth-admin/src/main/java/com/byit/service/ApiNodeService.java
View file @
7ff0d8f0
...
@@ -97,4 +97,6 @@ public interface ApiNodeService {
...
@@ -97,4 +97,6 @@ public interface ApiNodeService {
* @return
* @return
*/
*/
Map
<
String
,
JobTaskRunLog
>
loadCurrentStatusByJobName
(
String
jobNames
);
Map
<
String
,
JobTaskRunLog
>
loadCurrentStatusByJobName
(
String
jobNames
);
void
killNode
(
Integer
logId
);
}
}
byit-myth-admin/src/main/java/com/byit/service/impl/ApiNodeServiceImpl.java
View file @
7ff0d8f0
package
com
.
byit
.
service
.
impl
;
package
com
.
byit
.
service
.
impl
;
import
cn.hutool.http.HttpUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
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
;
import
com.byit.dto.web.ResponseResult
;
import
com.byit.enums.NodePropertyEnum
;
import
com.byit.enums.NodePropertyEnum
;
import
com.byit.enums.PlaceholderEnum
;
import
com.byit.enums.PlaceholderEnum
;
import
com.byit.enums.ScheduleTypeEnum
;
import
com.byit.enums.ScheduleTypeEnum
;
...
@@ -24,6 +26,7 @@ import com.byit.task.ScriptExecutorJobTask;
...
@@ -24,6 +26,7 @@ import com.byit.task.ScriptExecutorJobTask;
import
com.byit.utils.ValidationUtil
;
import
com.byit.utils.ValidationUtil
;
import
io.netty.util.TimerTask
;
import
io.netty.util.TimerTask
;
import
lombok.ToString
;
import
lombok.ToString
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.data.redis.core.StringRedisTemplate
;
import
org.springframework.data.redis.core.StringRedisTemplate
;
...
@@ -42,6 +45,7 @@ import static com.alibaba.fastjson.serializer.SerializerFeature.WriteClassName;
...
@@ -42,6 +45,7 @@ import static com.alibaba.fastjson.serializer.SerializerFeature.WriteClassName;
*/
*/
@Service
@Service
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Slf4j
public
class
ApiNodeServiceImpl
implements
ApiNodeService
{
public
class
ApiNodeServiceImpl
implements
ApiNodeService
{
@Resource
@Resource
...
@@ -111,11 +115,35 @@ public class ApiNodeServiceImpl implements ApiNodeService {
...
@@ -111,11 +115,35 @@ public class ApiNodeServiceImpl implements ApiNodeService {
return
runKey
;
return
runKey
;
}
}
public
static
void
main
(
String
[]
args
)
{
@Override
String
jat
=
"java -jar -Djava.security.egd=file:/dev/./urandom /ddmp/sqlEngine/ddmp-engine.jar {isReRun:false,jobId:5446,type:\"sql\",engineId:425,exterPath:\"/ddmp/sqlEngine\",storeType:\"redis\",contentKey:\"JOBCONTENT.5446.e8jC5STc\",tenant:0000,bizDate:\"${biz_date}\"}"
;
public
void
killNode
(
Integer
logId
)
{
jat
=
jat
.
replace
(
"${"
+
PlaceholderEnum
.
DATE_PLACEHOLDER
.
getName
()
+
"}"
,
DateUtil
.
dateLessDayStr
(
new
Date
(),
"yyyyMMdd"
,
1
));
JobTaskRunLog
jobTaskRunLog
=
jobTaskRunLogMapper
.
findJobTaskRunLogByLogId
(
logId
);
System
.
out
.
println
(
jat
);
if
(
StringUtils
.
isEmpty
(
jobTaskRunLog
.
getJobGroupIp
())){
log
.
warn
(
"已经调度成功但是还未返回具体的调用机器的ip地址"
);
try
{
Thread
.
sleep
(
3000
);
}
catch
(
InterruptedException
e
)
{
e
.
printStackTrace
();
}
jobTaskRunLog
=
jobTaskRunLogMapper
.
findJobTaskRunLogByLogId
(
logId
);
ValidationUtil
.
isTrueValidation
(!
"0"
.
equals
(
jobTaskRunLog
.
getRunCode
()),
"该任务已经运行结束!"
);
ValidationUtil
.
dataNotBank
(
jobTaskRunLog
.
getJobGroupIp
(),
"尚未分配执行机请稍后再试"
);
}
killJob
(
jobTaskRunLog
.
getLogId
(),
jobTaskRunLog
.
getJobGroupIp
());
log
.
info
(
"杀死成功!"
);
}
private
synchronized
Boolean
killJob
(
Integer
logId
,
String
exectUrl
){
//具体访问的URL
String
killUrl
=
"http://"
+
exectUrl
+
"/myth-executor-server/processManager/killJob"
;
Map
<
String
,
Object
>
requestMap
=
new
HashMap
<>(
2
);
requestMap
.
put
(
"logId"
,
logId
);
String
killResult
=
HttpUtil
.
post
(
killUrl
,
requestMap
);
log
.
info
(
"请求结果{}"
,
killResult
);
ResponseResult
responseResult
=
JSON
.
parseObject
(
killResult
,
ResponseResult
.
class
);
ValidationUtil
.
isTrueValidation
(!
"SUCCESS"
.
equals
(
responseResult
.
getResult
()),
"杀死job失败,错误信息为:"
+
responseResult
.
getResult
());
return
true
;
}
}
@Override
@Override
...
...
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