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)) }