Files
ProjectOctopus/agent-go/rabbitmq/OctopusMessageHandler.go
2024-03-29 14:46:11 +08:00

44 lines
1006 B
Go

package rabbitmq
import (
"fmt"
"wdd.io/agent-go/g"
)
var OctopusToServerQueue = &RabbitQueue{}
var P = g.G.P
type OctopusMsgHandler interface {
HandleMsg(*RabbitReceiveChan)
}
func (om *OctopusMessage) HandleMsg(rChan *RabbitReceiveChan) {
// 实际执行 OM handle进程
log.DebugF("接收到OctopusMessage => %s, 开始处理!", om.OctopusMessageType)
doHandleOctopusMessage(om, rChan)
}
func doHandleOctopusMessage(octopusMessage *OctopusMessage, rChan *RabbitReceiveChan) {
switch octopusMessage.OctopusMessageType {
case g.InitOmType:
rChan.InitRChan <- octopusMessage
case g.ExecOmType:
rChan.ExecutorRChan <- octopusMessage
case g.StatusOmType:
rChan.StatusRChan <- octopusMessage
case g.AgentOmType:
rChan.AgentRChan <- octopusMessage
default:
P.Submit(func() {
blackHoleOMHandler(octopusMessage)
})
}
}
func blackHoleOMHandler(octopusMessage *OctopusMessage) {
log.Error(fmt.Sprintf("[BLACK HOLE] octopusMessage type wrong! msg is => %v", octopusMessage))
}