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{ Enabled: true, 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() }