package rabbitmq import ( configYaml "common/configsYaml" "goutil/logUtil" "strconv" "github.com/streadway/amqp" ) var RabbitMQConn *amqp.Connection var RabbitMQChannel *amqp.Channel // 初始化rabbitMQ func init() { rabbitMQAddress := configYaml.GetRabbitMQAddress() //是否有mq配置 if rabbitMQAddress == "" { return } // 连接到 RabbitMQ 服务器 var err error RabbitMQConn, err = amqp.Dial(rabbitMQAddress) if err != nil { //抛出一个异常 logUtil.FatalLog("Failed to connect to RabbitMQ: %s,err:%s", rabbitMQAddress, err.Error()) } // 打开一个通道 RabbitMQChannel, err = RabbitMQConn.Channel() if err != nil { //抛出一个异常 logUtil.FatalLog("Failed to open a channel,err:%s", err.Error()) } //循环数据库数量 for _, index := range configYaml.GetDBNum() { //队列名称 queueName := configYaml.GetRabbitMQName() + ":" + strconv.Itoa(index) // 声明一个队列 _, err = RabbitMQChannel.QueueDeclare( queueName, // 队列名称 true, // 是否持久化 false, // 是否在使用后删除 false, // 是否排他 false, // 是否阻塞 nil, // 其他参数 ) if err != nil { logUtil.FatalLog("Failed to declare a queue,queueName:%s,err:%s", queueName, err.Error()) } } }