Skip to content

Repository files navigation

msgr | AMQP Client

GoDocBuild StatusCoverage Status

Summary

This go module is a tiny wrapper around the streadway/amqp, the standard low level golang client for rabbitmq, the open source message broker.

msgr abstracts away a few of the complexities of rabbitmq and exposes a slightly friendlier interface, intended for simple applications.

Documentation

For details on all the functionality in this library, see the GoDoc documentation.

Installation

This project supports modules and Go 1.13+. Add msgr to your own project the usual way -

go get github.com/piquette/msgr

Usage example

Producer

// Instantiate and connect to the server.conf:=&msgr.Config{
URI: "amqp://localhost:5672",
Channel: "queue_name",
}
producer=msgr.ConnectP(conf)
deferproducer.Close()
// Send a message.
Enqueue:
{
success:= producer.Post([]byte("hi")])
if!success {
// Retry for all eternity.log.Println("could not enqueue msg")
time.Sleep(time.Second*3)
goto Enqueue
}
}

Consumer

// Instantiate and connect to the server.conf:=&msgr.Config{
URI: "amqp://localhost:5672",
Channel: "queue_name",
}
consumer=msgr.ConnectC(conf)
deferconsumer.Close()
// Receive messages.open, messages:=s.Consumer.Accept()
if!open {
return
}
// Range over the messages chan.forrecv:=rangemessages {
// Got one.fmt.Println(string(recv.Body)) // prints 'hi'.// Don't forget to acknowledge.recv.Ack(false)
}

Contributing

This modules is a work in progress and needs a lot of refinement. Please submit an issue if you need help!

About

Beginner-friendly bindings for rabbitmq in go 🐰 ⚡

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages