55 lines
1.2 KiB
Go
55 lines
1.2 KiB
Go
package rebbitMQ
|
||
|
||
import (
|
||
configYaml "common/configsYaml"
|
||
"github.com/streadway/amqp"
|
||
"goutil/logUtil"
|
||
)
|
||
|
||
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())
|
||
}
|
||
|
||
//队列名称
|
||
queueName := configYaml.GetRabbitMQName()
|
||
|
||
// 声明一个队列
|
||
_, 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())
|
||
}
|
||
}
|