策略脚本执行返回数据优化
This commit is contained in:
+22
-29
@@ -1,7 +1,5 @@
|
|||||||
package com.tongran.agent.client.scheduler.task;
|
package com.tongran.agent.client.scheduler.task;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
|
||||||
import com.alibaba.fastjson2.JSON;
|
|
||||||
import com.alibaba.fastjson2.JSONObject;
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
import com.tongran.agent.client.core.enums.MsgEnum;
|
import com.tongran.agent.client.core.enums.MsgEnum;
|
||||||
import com.tongran.agent.client.core.session.SessionManager;
|
import com.tongran.agent.client.core.session.SessionManager;
|
||||||
@@ -13,7 +11,6 @@ import org.springframework.stereotype.Service;
|
|||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
@@ -75,10 +72,8 @@ public class SpecificTimeTaskService {
|
|||||||
// 实现你的业务逻辑
|
// 实现你的业务逻辑
|
||||||
try {
|
try {
|
||||||
System.out.println("处理业务: " + request.getTaskData());
|
System.out.println("处理业务: " + request.getTaskData());
|
||||||
|
String key = request.getTaskName()+"-"+System.currentTimeMillis();
|
||||||
List<String> list = new ArrayList<>();
|
|
||||||
for (String command : request.getTaskData()) {
|
for (String command : request.getTaskData()) {
|
||||||
JSONObject json = new JSONObject();
|
|
||||||
if(StringUtils.equals(request.getDataType(), MsgEnum.Agent版本更新应答.getValue())){
|
if(StringUtils.equals(request.getDataType(), MsgEnum.Agent版本更新应答.getValue())){
|
||||||
try {
|
try {
|
||||||
System.out.println("重启进程已启动,当前服务退出");
|
System.out.println("重启进程已启动,当前服务退出");
|
||||||
@@ -97,34 +92,32 @@ public class SpecificTimeTaskService {
|
|||||||
cmd,
|
cmd,
|
||||||
100, TimeUnit.SECONDS);
|
100, TimeUnit.SECONDS);
|
||||||
future.thenAccept(result -> {
|
future.thenAccept(result -> {
|
||||||
if (result.isSuccess()) {
|
JSONObject jsonObject = new JSONObject();
|
||||||
System.out.println("脚本执行成功");
|
jsonObject.put("command", command);
|
||||||
System.out.println("[成功resOut] " + result.getOutput());
|
jsonObject.put("resOut", result.getOutput());
|
||||||
json.put("command",command);
|
System.out.println("JSON: " + jsonObject.toJSONString()); // 注意:toJSONString()
|
||||||
json.put("resOut",result.getOutput());
|
|
||||||
} else {
|
JSONObject json = new JSONObject();
|
||||||
System.out.println("脚本执行失败");
|
json.put("resCode",1);
|
||||||
System.out.println("[失败resOut] " + result.getOutput());
|
json.put("resMsg", "");
|
||||||
json.put("command",command);
|
json.put("result", jsonObject.toJSONString());
|
||||||
json.put("resOut",result.getOutput());
|
Message message = Message.builder().clientId(request.getClientId()).dataType(request.getDataType()).data(jsonObject.toJSONString()).build();
|
||||||
|
if (Objects.nonNull(sessionManager.getSessionById(request.getClientId()))) {
|
||||||
|
System.out.println("发送执行结果: " + json.toJSONString()); // 注意:toJSONString()
|
||||||
|
sessionManager.writeAndFlush(sessionManager.getSessionById(request.getClientId()).getChannel(), message);
|
||||||
}
|
}
|
||||||
}).exceptionally(ex -> {
|
}).exceptionally(ex -> {
|
||||||
System.err.println("执行失败: " + ex.getMessage());
|
System.err.println("执行失败: " + ex.getMessage());
|
||||||
json.put("command",command);
|
JSONObject json = new JSONObject();
|
||||||
json.put("resOut","Policy execute filed");
|
json.put("resCode",0);
|
||||||
|
json.put("resMsg", "执行失败:Policy execute filed");
|
||||||
|
json.put("result", "");
|
||||||
|
Message message = Message.builder().clientId(request.getClientId()).dataType(request.getDataType()).data(json.toJSONString()).build();
|
||||||
|
if (Objects.nonNull(sessionManager.getSessionById(request.getClientId()))) {
|
||||||
|
sessionManager.writeAndFlush(sessionManager.getSessionById(request.getClientId()).getChannel(), message);
|
||||||
|
}
|
||||||
return null;
|
return null;
|
||||||
});
|
});
|
||||||
list.add(json.toString());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(CollectionUtil.isNotEmpty(list)){
|
|
||||||
JSONObject json = new JSONObject();
|
|
||||||
json.put("resCode",1);
|
|
||||||
json.put("resMsg", "");
|
|
||||||
json.put("result", JSON.toJSONString(list));
|
|
||||||
Message message = Message.builder().clientId(request.getClientId()).dataType(request.getDataType()).data(json.toString()).build();
|
|
||||||
if (Objects.nonNull(sessionManager.getSessionById(request.getClientId()))) {
|
|
||||||
sessionManager.writeAndFlush(sessionManager.getSessionById(request.getClientId()).getChannel(), message);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 调用其他服务等
|
// 调用其他服务等
|
||||||
|
|||||||
@@ -807,7 +807,7 @@ public class AgentServiceImpl implements AgentService {
|
|||||||
if(policy.getMethod() == 1){
|
if(policy.getMethod() == 1){
|
||||||
SpecificTimeRequest request = SpecificTimeRequest.builder()
|
SpecificTimeRequest request = SpecificTimeRequest.builder()
|
||||||
.taskId("")
|
.taskId("")
|
||||||
.taskName("")
|
.taskName(policy.getPolicyName())
|
||||||
.taskData(policy.getCommands())
|
.taskData(policy.getCommands())
|
||||||
.specificDateTime(AgentUtil.toLocalDateTime(policy.getPolicyTime(),true))
|
.specificDateTime(AgentUtil.toLocalDateTime(policy.getPolicyTime(),true))
|
||||||
.clientId(clientId)
|
.clientId(clientId)
|
||||||
|
|||||||
Reference in New Issue
Block a user