pma
GenStage as an abstraction for RabbitMQ
Hello!
I’m experimenting with GenStage as an abstraction to consume/publish data from/to RabbitMQ.
An initial working version here ( GitHub - pma/wabbit: GenStage based interface for RabbitMQ · GitHub ) and any suggestions to improve the API would be appreciated.
The documentation is still lacking but the example included will hopefully be enough to get started.
The progress so far includes:
- GenStage based generic module to expose a RabbitMQ publisher as a GenStage consumer.
- GenStage based generic module to expose a RabbitMQ consumer as a GenStage producer.
- Automatic reconnects
- Async publish/confirms with a configurable window
- In-memory queue to store messages between reconnects
- Auto retry publishing any unconfirmed/queued messages on reconnect
- Callback for payload encoding/decoding and to override default publish options, per message
- Callback after (re)opening a channel to setup exchanges, queues, bindings
Thank you,
Paulo
First Post!
collegeimprovements
This is very exciting. Currently I’m planning to use Wabit in production? Is it safe to do so?
Popular in Discussions
I’m trying to evaluate the best combo/stack for a BEAM Web app. Right now I’m exploring Yaws a bit, after having dealt with Phoenix for a...
New
https://nitter.net/josevalim/status/1744395345872683471
https://twitter.com/josevalim/status/1744395345872683471
New
Hello Elixir and Nerves community,
I have been working for a while on an open-source embedded key-value database for Elixir, that I call...
New
Release date is May 2017. Can’t wait for it.
New
Hi all,
I’ve seen a number of related threads in the past, but I’d still be very curious to hear an up-to-date opinion on this topic.
I...
New
Piggy backing a bit on @dvcrn topic BEAM optimization for functions with static return type?, I’ve been trying to understand in a deeper ...
New
Another point that Dave drives home in his course is that applications really are components, and you should treat them as such. Not as “...
New
I’ve just started the Phoenix part of the utterly brilliant online course by @pragdave. On generating the Phoenix app he uses the --no-ec...
New
Hey there,
It’s been more than a year since we started using LiveView as our main UI library and building a whole library of UI componen...
New
I’m looking for a host for the server part of a small (personal) side project that I’m working on. It’s currently written in Node.js and ...
New
Other popular topics
Hello!
tl;dr Announcing Oban, an Ecto based job processing library with a focus on reliability and historical observability.
After spen...
New
We have an ECS cluster with 4 services, where each task joins a single cluster, via discovery ECS discovery service.
Currently when I de...
New
If I have a post route which an argument:
post /my_post_route/:my_param1, MyController.my_post_handler
How would get the post params ...
New
None of the current solutions worked well for me, so I went ahead and built a user management system from scratch.
This project took far...
New
Good day to you all.
I have been struggling to get a query involving like and ilike to work.
Can anyone assist me on this, please?
pro...
New
Hi!
In PHP: $_SERVER[‘SERVER_ADDR’] - in Elixir?
Searched the docs for ip address and the web, no good results.
Thanks!
New
I am trying to start a new phoenix project with elixir 1.9, but mix phx.new does not work. It says that ** (Mix) The task "phx.new" could...
New
Hi there,
I am working with Ecto-Postgresql and I need to call all of the records from a specific table but the table has 40,000 records...
New
What is the proper way to load a module from a file in to IEX?
In the python world, doing something like this pretty standard:
from ....
New
Currently suffering from paralysis by [HTTP client] analysis. This is rather unusual in Elixirland as there tends to be consensus on the ...
New









