[Cmii][ImageSync] - reformat agent-go - 2
This commit is contained in:
@@ -15,7 +15,7 @@ type OctopusMsgHandler interface {
|
||||
|
||||
func (om *OctopusMessage) HandleMsg(rChan *RabbitReceiveChan) {
|
||||
// 实际执行 OM handle进程
|
||||
log.Debug("接收到OctopusMessage, 开始处理!")
|
||||
log.DebugF("接收到OctopusMessage => %s, 开始处理!", om.OctopusMessageType)
|
||||
doHandleOctopusMessage(om, rChan)
|
||||
}
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@ type RabbitQueue struct {
|
||||
// 连接属性
|
||||
RabbitProp *ConnectProperty
|
||||
// 底层连接tcp信息
|
||||
RabbitConnectInfo RabbitTCPConnectInfo
|
||||
RabbitConnectInfo *RabbitTCPConnectInfo
|
||||
// 返回消息队列
|
||||
ReceiveChan *RabbitReceiveChan
|
||||
}
|
||||
@@ -79,7 +79,7 @@ var instance *amqp.Connection
|
||||
var once sync.Once
|
||||
|
||||
// 初始化 Singleton 实例的函数
|
||||
func createInstance(rabbitConnectInfo RabbitTCPConnectInfo) func() {
|
||||
func createInstance(rabbitConnectInfo *RabbitTCPConnectInfo) {
|
||||
// 在这里进行 Singleton 的初始化操作
|
||||
|
||||
// 获取RabbitMQ的连接地址
|
||||
@@ -92,15 +92,16 @@ func createInstance(rabbitConnectInfo RabbitTCPConnectInfo) func() {
|
||||
}
|
||||
|
||||
instance = connection
|
||||
return nil
|
||||
}
|
||||
|
||||
// GetInstance 获取全局唯一的 Singleton 实例的函数
|
||||
func GetInstance(rabbitConnectInfo RabbitTCPConnectInfo) *amqp.Connection {
|
||||
func GetInstance(rabbitConnectInfo *RabbitTCPConnectInfo) *amqp.Connection {
|
||||
// 使用 sync.Once 确保 createInstance 只会被调用一次
|
||||
|
||||
// todo 理解
|
||||
once.Do(createInstance(rabbitConnectInfo))
|
||||
once.Do(func() {
|
||||
createInstance(rabbitConnectInfo)
|
||||
})
|
||||
return instance
|
||||
}
|
||||
|
||||
@@ -185,24 +186,25 @@ func (r *RabbitQueue) Close() error {
|
||||
func (r *RabbitQueue) Handle() chan bool {
|
||||
|
||||
deliveries := r.Read(true)
|
||||
forverHandle := make(chan bool)
|
||||
foreverHandle := make(chan bool)
|
||||
// 死循环,处理Octopus Message
|
||||
for delivery := range deliveries {
|
||||
P.Submit(func() {
|
||||
for delivery := range deliveries {
|
||||
|
||||
var om *OctopusMessage
|
||||
err := json.Unmarshal(delivery.Body, &om)
|
||||
if err != nil {
|
||||
log.Error(fmt.Sprintf("octopus message convert to json is wrong! msg is => %s", delivery.Body))
|
||||
// 保存到某处
|
||||
continue
|
||||
var om *OctopusMessage
|
||||
err := json.Unmarshal(delivery.Body, &om)
|
||||
if err != nil {
|
||||
log.Error(fmt.Sprintf("octopus message convert to json is wrong! msg is => %s", delivery.Body))
|
||||
// 保存到某处
|
||||
continue
|
||||
}
|
||||
// 策略模式 处理消息
|
||||
P.Submit(func() {
|
||||
om.HandleMsg(r.ReceiveChan)
|
||||
})
|
||||
}
|
||||
// 策略模式 处理消息
|
||||
P.Submit(func() {
|
||||
om.HandleMsg(r.ReceiveChan)
|
||||
})
|
||||
}
|
||||
|
||||
return forverHandle
|
||||
})
|
||||
return foreverHandle
|
||||
}
|
||||
|
||||
// Send 向RabbitMQ中发送消息
|
||||
@@ -257,7 +259,7 @@ func (r *RabbitQueue) Read(autoAck bool) <-chan amqp.Delivery {
|
||||
return msgs
|
||||
}
|
||||
|
||||
func parseRabbitMQEndpoint(rabbitConnectInfo RabbitTCPConnectInfo) string {
|
||||
func parseRabbitMQEndpoint(rabbitConnectInfo *RabbitTCPConnectInfo) string {
|
||||
|
||||
var res strings.Builder
|
||||
|
||||
|
||||
Reference in New Issue
Block a user