55 lines
1.3 KiB
Go
55 lines
1.3 KiB
Go
package rabbitmq
|
|
|
|
import (
|
|
"time"
|
|
|
|
"clickandjoin.app/serversenteventsserver/modules/config"
|
|
gorabbitmqclient "git.clickandjoin.umbach.dev/ClickandJoin/go-rabbitmq-client"
|
|
)
|
|
|
|
const exchangeBroadcastMessages = "cnj.api.broadcast.messages"
|
|
|
|
var ApiBroadcastClient *gorabbitmqclient.Client
|
|
|
|
func Init() {
|
|
cfg := config.Cfg
|
|
|
|
/*
|
|
* api broadcast messages
|
|
*/
|
|
ApiBroadcastClient = gorabbitmqclient.NewClient(
|
|
cfg.Debug,
|
|
gorabbitmqclient.ExchangeSettings{},
|
|
gorabbitmqclient.QueueSettings{
|
|
Name: "",
|
|
Durable: false,
|
|
DeleteWhenUnused: false,
|
|
Exclusive: true,
|
|
NoWait: false,
|
|
Arguments: nil,
|
|
QueueBindSettings: gorabbitmqclient.QueueBindSettings{
|
|
Enabled: true,
|
|
QueueName: gorabbitmqclient.SetQueueNameToAutomaticallyAssignedQueueName,
|
|
RoutingKey: "",
|
|
Exchange: exchangeBroadcastMessages,
|
|
NoWait: false,
|
|
Arguments: nil,
|
|
},
|
|
},
|
|
gorabbitmqclient.ChannelQosSettingsDefault,
|
|
gorabbitmqclient.Config{
|
|
ReconnectDelay: 1 * time.Second,
|
|
ReInitDelay: 1 * time.Second,
|
|
ResendDelay: 5 * time.Second,
|
|
},
|
|
gorabbitmqclient.GetConnectionString(
|
|
cfg.RabbitMq.Username,
|
|
cfg.RabbitMq.Password,
|
|
cfg.RabbitMq.Host))
|
|
|
|
// give the connection sometime to setup
|
|
<-time.After(time.Second)
|
|
|
|
go ApiBroadcastMessagesHandling()
|
|
}
|