46 lines
938 B
Go
46 lines
938 B
Go
package core
|
|
|
|
import (
|
|
"fmt"
|
|
"hepa-calc-admin-api/extend/rabbitMq"
|
|
"hepa-calc-admin-api/utils"
|
|
)
|
|
|
|
// StartRabbitMq 启动rabbitmq
|
|
func StartRabbitMq() {
|
|
err := rabbitMq.NewRabbitMQClient()
|
|
if err != nil {
|
|
utils.LogJsonErr("启动rabbitmq:", err.Error())
|
|
panic(err.Error())
|
|
}
|
|
|
|
// 保持连接
|
|
go rabbitMq.HandleReconnect()
|
|
|
|
fmt.Println("初始化rabbitMq成功......")
|
|
}
|
|
|
|
// StartRabbitMqConsume 启动消费者端
|
|
func StartRabbitMqConsume() {
|
|
|
|
}
|
|
|
|
// startConsumer 启动指定的消费者协程
|
|
func startConsumer(s rabbitMq.ConsumeS) {
|
|
go func() {
|
|
defer func() {
|
|
if r := recover(); r != nil {
|
|
utils.LogJsonErr(fmt.Sprintf("消费者协程崩溃 - %s", s.QueueName), fmt.Errorf("%v", r))
|
|
// 重新启动客户端
|
|
StartRabbitMq()
|
|
}
|
|
}()
|
|
|
|
err := s.Consume()
|
|
if err != nil {
|
|
fmt.Println(err.Error())
|
|
utils.LogJsonErr(fmt.Sprintf("启动消费者队列失败 - %s", s.QueueName), err)
|
|
}
|
|
}()
|
|
}
|