diff --git a/modules/rabbitmq/rabbitmq.go b/modules/rabbitmq/rabbitmq.go index 06d3a4c..b11bf56 100644 --- a/modules/rabbitmq/rabbitmq.go +++ b/modules/rabbitmq/rabbitmq.go @@ -9,6 +9,8 @@ import ( ) var Conn *amqp.Connection +var MailQueue amqp.Queue +var Channel *amqp.Channel func getConnectionString() string { cfg := &config.Cfg.RabbitMq @@ -31,12 +33,14 @@ func Init() { log.Fatalln("Failed to open a channel", err) } - defer ch.Close() + //defer ch.Close() + + Channel = ch log.Debug("RabbitMQ connected") q, err := ch.QueueDeclare( - "hello", // name + "mails", // name false, // durable false, // delete when unused false, // exclusive @@ -48,6 +52,8 @@ func Init() { log.Fatalln("Failed to declare a queue", err) } + MailQueue = q + body := "Hello World!" err = ch.Publish( "", // exchange @@ -63,3 +69,22 @@ func Init() { log.Fatalln("Failed to publish a message", err) } } + +func Publish(body string) { + log.Infoln("qu name", MailQueue.Name) + log.Infoln("publish", Channel, MailQueue) + + err := Channel.Publish( + "", // exchange + MailQueue.Name, // routing key + false, // mandatory + false, // immediate + amqp.Publishing{ + ContentType: "application/json", + Body: []byte(body), + }) + + if err != nil { + log.Fatalln("Failed to publish a message", err) + } +}