core/amqp/amqp.go
Vitaliy Pavlov 2c4eaf6809 stage WIP
2024-08-23 20:57:09 +07:00

33 lines
606 B
Go

package amqp
import (
"log"
"os"
"sync"
"system-trace/core/environment"
"system-trace/core/utils"
"github.com/wagslane/go-rabbitmq"
)
var Broker *rabbitmq.Conn
func InitConn() *rabbitmq.Conn {
var conn *rabbitmq.Conn
conn, err := rabbitmq.NewConn(
os.Getenv("AMQP_URL"),
rabbitmq.WithConnectionOptionsLogging,
rabbitmq.WithConnectionOptionsReconnectInterval(environment.ReconnectionInterval),
)
if err != nil {
log.Println("[AMQP]", err)
wg := sync.WaitGroup{}
wg.Add(1)
to := environment.ReconnectionInterval
utils.WaitTimeout(&wg, to)
return InitConn()
}
return conn
}