{"repo":"nsweeting/rabbit","free":true,"listed":false,"github":"https://github.com/nsweeting/rabbit","clone":"git clone https://github.com/nsweeting/rabbit.git","description":"Build Elixir applications with RabbitMQ","language":"Elixir","stars":43,"topics":["elixir","elixir-lang","rabbitmq","messaging","broker","otp"],"license":"MIT","category":"chat-messaging","readme_excerpt":"Rabbit Rabbit is a set of tools for building applications with RabbitMQ. Installation The package can be installed by adding rabbit to your list of dependencies in mix.exs : Documentation Please see HexDocs for additional documentation. Connections Connections form the basis of any application that is working with RabbitMQ. A connection module is needed by all the other modules included with Rabbit. Upon start, a connection will automatically create a pool of RabbitMQ connections to utilize. Consumers Consumers are the \"workers\" of your application. They must be provided a connection module and queue to consume. Every message received is then passed along to your handle message/1 callback within its own process. You can optionally implement the handle setup/2 callback to perform any work needed to declare queues/exchanges/bindings. Consumer Supervisors Consumer supervisors provide an easy way to start and supervise multiple consumer processes. Rather than creating a module for each consumer and implementing repetitive logic - the same callbacks are used across all consumers. Producers In order to publish messages to RabbitMQ, we must create a producer module. They must be provided a connection module. Upon start, a producer will automatically create a pool of RabbitMQ channels to publish from. You can optionally implement the handle setup/1 callback to perform any work needed to declare queues/exchanges/bindings. Topology Topology provides a way to centralize any RabbitMQ set","default_branch":null,"files":null,"tree":[],"storefront":"/r/nsweeting","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/nsweeting/rabbit/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}