[ server ] [ executor ] start to accomplish the function -1

This commit is contained in:
zeaslity
2022-12-14 15:15:20 +08:00
parent 2e97f9326d
commit d0bdca5ced
8 changed files with 128 additions and 10 deletions

View File

@@ -9,7 +9,9 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.io.*; import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
import java.util.List; import java.util.List;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
@@ -32,6 +34,10 @@ public class CommandExecutor {
*/ */
public void execute(ExecutionMessage executionMessage) { public void execute(ExecutionMessage executionMessage) {
this.execute(executionMessage.getResultKey(), executionMessage.getCommandList());
} }

View File

@@ -44,7 +44,7 @@ public class TestCommandExecutorController {
ExecutionMessage executionMessage = ExecutionMessage.builder() ExecutionMessage executionMessage = ExecutionMessage.builder()
.resultKey(streamKey) .resultKey(streamKey)
.type(messageType) .type(messageType)
.contend(messageType) .command(messageType)
.build(); .build();
System.out.println("executionMessage = " + executionMessage); System.out.println("executionMessage = " + executionMessage);

View File

@@ -1,6 +1,8 @@
package io.wdd.agent; package io.wdd.agent;
import java.util.ArrayDeque;
import java.util.Arrays; import java.util.Arrays;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.stream.Collectors; import java.util.stream.Collectors;
public class SimpleTest { public class SimpleTest {

View File

@@ -5,6 +5,8 @@ import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder; import lombok.experimental.SuperBuilder;
import java.util.List;
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
@@ -13,7 +15,7 @@ public class ExecutionMessage {
private String type; private String type;
private String contend; private List<String> commandList;
private String resultKey; private String resultKey;

View File

@@ -0,0 +1,23 @@
package io.wdd.rpc.execute.service;
import org.springframework.stereotype.Service;
import java.util.List;
public interface CoreExecutionService {
void SendCommandToAgent(String topicName, String command);
void SendCommandToAgent(String topicName, List<String> commandList);
void SendCommandToAgent(String topicName, String type, List<String> command);
void SendCommandToAgent(List<String> topicNameList, String type, String command);
void SendCommandToAgent(List<String> topicNameList, String type, List<String> command);
}

View File

@@ -0,0 +1,80 @@
package io.wdd.rpc.execute.service;
import io.wdd.common.beans.executor.ExecutionMessage;
import io.wdd.common.beans.rabbitmq.OctopusMessage;
import io.wdd.common.beans.rabbitmq.OctopusMessageType;
import io.wdd.rpc.message.sender.ToAgentMessageSender;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.List;
@Service
public class CoreExecutionServiceImpl implements CoreExecutionService {
@Resource
ToAgentMessageSender messageSender;
@Override
public void SendCommandToAgent(String topicName, String command) {
this.SendCommandToAgent(topicName, List.of(command));
}
@Override
public void SendCommandToAgent(String topicName, List<String> commandList) {
this.SendCommandToAgent(topicName,"manual-command", commandList);
}
@Override
public void SendCommandToAgent(String topicName, String type, List<String> commandList) {
}
@Override
public void SendCommandToAgent(List<String> topicNameList, String type, String command) {
}
@Override
public void SendCommandToAgent(List<String> topicNameList, String type, List<String> command) {
}
private OctopusMessage generateOctopusMessage(String topicName, String type, List<String> commandList){
return OctopusMessage.builder()
.type(OctopusMessageType.EXECUTOR)
.init_time(LocalDateTime.now())
.content(generateExecutionMessage(
type,
commandList,
generateCommandResultKey(topicName)
))
.uuid(topicName)
.build();
}
private ExecutionMessage generateExecutionMessage(String type, List<String> commandList, String resultKey) {
return ExecutionMessage.builder()
.type(type)
.commandList(commandList)
.resultKey(resultKey)
.build();
}
private String generateCommandResultKey(String topicName) {
String TimeString = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
return topicName + TimeString;
}
}

View File

@@ -6,7 +6,7 @@ import com.rabbitmq.client.Channel;
import io.wdd.common.beans.rabbitmq.OctopusMessage; import io.wdd.common.beans.rabbitmq.OctopusMessage;
import io.wdd.common.beans.rabbitmq.OctopusMessageType; import io.wdd.common.beans.rabbitmq.OctopusMessageType;
import io.wdd.common.handler.MyRuntimeException; import io.wdd.common.handler.MyRuntimeException;
import io.wdd.rpc.message.sender.ToAgentOrder; import io.wdd.rpc.message.sender.ToAgentMessageSender;
import io.wdd.server.beans.vo.ServerInfoVO; import io.wdd.server.beans.vo.ServerInfoVO;
import io.wdd.server.utils.DaemonDatabaseOperator; import io.wdd.server.utils.DaemonDatabaseOperator;
import lombok.SneakyThrows; import lombok.SneakyThrows;
@@ -60,7 +60,7 @@ public class AcceptAgentInitInfo {
* The To agent order. * The To agent order.
*/ */
@Resource @Resource
ToAgentOrder toAgentOrder; ToAgentMessageSender toAgentMessageSender;
/** /**
@@ -174,7 +174,7 @@ public class AcceptAgentInitInfo {
.uuid(serverInfoVO.getTopicName()) .uuid(serverInfoVO.getTopicName())
.build(); .build();
toAgentOrder.send(octopusMessage); toAgentMessageSender.sendINIT(octopusMessage);
return true; return true;
} }

View File

@@ -18,8 +18,8 @@ import javax.annotation.Resource;
* provide override method to convert Object and send to rabbitmq * provide override method to convert Object and send to rabbitmq
*/ */
@Component @Component
@Slf4j(topic = "To Octopus Server Message ") @Slf4j(topic = "Send Message To Octopus Agent ")
public class ToAgentOrder { public class ToAgentMessageSender {
@Resource @Resource
RabbitTemplate rabbitTemplate; RabbitTemplate rabbitTemplate;
@@ -27,7 +27,6 @@ public class ToAgentOrder {
@Resource @Resource
InitRabbitMQConfig initRabbitMQConfig; InitRabbitMQConfig initRabbitMQConfig;
@Resource @Resource
ObjectMapper objectMapper; ObjectMapper objectMapper;
@@ -37,7 +36,7 @@ public class ToAgentOrder {
* *
* @param message octopus message * @param message octopus message
*/ */
public void send(OctopusMessage message){ public void sendINIT(OctopusMessage message){
// only accept INIT type message // only accept INIT type message
if (!OctopusMessageType.INIT.equals(message.getType())) { if (!OctopusMessageType.INIT.equals(message.getType())) {
@@ -51,6 +50,12 @@ public class ToAgentOrder {
} }
public void send(OctopusMessage octopusMessage) {
}
@SneakyThrows @SneakyThrows
private byte[] writeData(Object data){ private byte[] writeData(Object data){