43 lines
749 B
Go
43 lines
749 B
Go
package core
|
|
|
|
import (
|
|
"fmt"
|
|
"github.com/streadway/amqp"
|
|
"hospital-open-api/config"
|
|
"hospital-open-api/global"
|
|
"net/url"
|
|
)
|
|
|
|
func Amqp() {
|
|
m := config.C.Amqp
|
|
|
|
user := url.QueryEscape(m.User)
|
|
password := url.QueryEscape(m.Password)
|
|
|
|
dsn := fmt.Sprintf("amqp://%s:%s@%s:%d/%s", user,
|
|
password, m.Host, m.Port, m.Vhost)
|
|
|
|
conn, err := amqp.Dial(dsn)
|
|
if err != nil {
|
|
panic("rabbitMq初始化失败! " + err.Error())
|
|
}
|
|
|
|
defer func(conn *amqp.Connection) {
|
|
_ = conn.Close()
|
|
}(conn)
|
|
|
|
ch, err := conn.Channel()
|
|
if err != nil {
|
|
panic("rabbitMq初始化失败! " + err.Error())
|
|
}
|
|
|
|
defer func(ch *amqp.Channel) {
|
|
_ = ch.Close()
|
|
}(ch)
|
|
|
|
global.AmqpConn = conn
|
|
global.AmqpChannel = ch
|
|
|
|
fmt.Println("初始化rabbitMq成功......")
|
|
}
|