2021-06-08 21:26:14 +03:00
|
|
|
package rabbit
|
|
|
|
|
|
|
|
import (
|
|
|
|
"time"
|
|
|
|
|
|
|
|
"github.com/streadway/amqp"
|
|
|
|
)
|
|
|
|
|
2021-06-08 21:41:51 +03:00
|
|
|
// Publish publishes a message to a Rabbit exchange using the main channel.
|
|
|
|
// For use in the main go routine.
|
2021-06-08 21:26:14 +03:00
|
|
|
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,
|
|
|
|
},
|
|
|
|
)
|
|
|
|
}
|