1
0
mirror of https://github.com/ebosas/microservices.git synced 2025-06-06 22:16:11 +02:00
2021-06-08 21:41:51 +03:00

31 lines
773 B
Go

package rabbit
import (
"time"
"github.com/streadway/amqp"
)
// Publish publishes a message to a Rabbit exchange using the main channel.
// For use in the main go routine.
func (conn Conn) Publish(exch, rKey string, message []byte) error {
return PublishInChannel(conn.Channel, exch, rKey, message)
}
// PublishInChannel publishes a message to a Rabbit exchange using
// a provided channel. For use in go routines.
func PublishInChannel(ch *amqp.Channel, exch, rKey string, message []byte) error {
return ch.Publish(
exch, // exchane name
rKey, // routing key
false, // mandatory
false, // immediate
amqp.Publishing{
ContentType: "application/json",
DeliveryMode: amqp.Persistent,
Timestamp: time.Now(),
Body: message,
},
)
}