[ Cmii ] [ Octopus ] - reformat agent-go - 2
This commit is contained in:
@@ -3,11 +3,14 @@ package a_executor
|
||||
import (
|
||||
"bufio"
|
||||
"bytes"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"os/exec"
|
||||
"strconv"
|
||||
"strings"
|
||||
"wdd.io/agent-common/logger"
|
||||
"wdd.io/agent-common/utils"
|
||||
"wdd.io/agent-go/rabbitmq"
|
||||
)
|
||||
|
||||
type ExecutionMessage struct {
|
||||
@@ -28,35 +31,45 @@ var AgentOsOperatorCache = &AgentOsOperator{}
|
||||
func Activate() {
|
||||
log.Info("Module [ EXECUTOR ] activated !")
|
||||
|
||||
//// 转换类型
|
||||
//executionMsgString := octopusMessage.Content.(string)
|
||||
//
|
||||
//// 解析 ExecutionMessage
|
||||
//var executionMessage *a_executor.ExecutionMessage
|
||||
//err := json.Unmarshal([]byte(executionMsgString), &executionMessage)
|
||||
//if err != nil {
|
||||
// log.Error(fmt.Sprintf("execution message convert to json is wrong! msg is => %s", executionMsgString))
|
||||
// return
|
||||
//}
|
||||
//
|
||||
//// 执行命令
|
||||
//ok, resultLog := a_executor.Execute(executionMessage)
|
||||
//if ok {
|
||||
// octopusMessage.ResultCode = "200"
|
||||
//} else {
|
||||
// octopusMessage.ResultCode = "300"
|
||||
//}
|
||||
//
|
||||
//// 返回结果
|
||||
//if executionMessage.NeedResultReplay {
|
||||
// // send back the result log
|
||||
// octopusMessage.Result = resultLog
|
||||
//}
|
||||
//// 返回时间
|
||||
//octopusMessage.ACTime = utils.ParseDateTimeTime()
|
||||
//
|
||||
//// 返回结果
|
||||
//octopusMessage.SendToOctopusServer()
|
||||
// 死循环获取channel中的数据
|
||||
for {
|
||||
if octopusMessage, ok := <-rabbitmq.BusinessRuntimeQueue.ReceiveChan.ExecutorRChan; ok {
|
||||
// 处理数据
|
||||
// 转换类型
|
||||
executionMsgString := octopusMessage.Content.(string)
|
||||
|
||||
//解析 ExecutionMessage
|
||||
var executionMessage *ExecutionMessage
|
||||
err := json.Unmarshal([]byte(executionMsgString), &executionMessage)
|
||||
if err != nil {
|
||||
log.Error(fmt.Sprintf("execution message convert to json is wrong! msg is => %s", executionMsgString))
|
||||
return
|
||||
}
|
||||
|
||||
// 执行命令
|
||||
ok, resultLog := Execute(executionMessage)
|
||||
if ok {
|
||||
octopusMessage.ResultCode = "200"
|
||||
} else {
|
||||
octopusMessage.ResultCode = "300"
|
||||
}
|
||||
|
||||
// 返回结果
|
||||
if executionMessage.NeedResultReplay {
|
||||
// send back the result log
|
||||
octopusMessage.Result = resultLog
|
||||
}
|
||||
// 返回时间
|
||||
octopusMessage.ACTime = utils.ParseDateTimeTime()
|
||||
|
||||
// 返回结果
|
||||
octopusMessage.SendToOctopusServer()
|
||||
} else {
|
||||
// channel已关闭,跳出循环
|
||||
log.ErrorF("business queue [ EXECUTOR ] receive chan has closed !")
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func Execute(em *ExecutionMessage) (bool, []string) {
|
||||
|
||||
Reference in New Issue
Block a user