hi @karh,
Sure.
Similar to Redis Bull Queue RabbitMQ is also a dedicated message broker, Mostly, RabbitMQ outperforms Redis and guarantees message delivery with the help of message durability and acknowledgments.
The module that I posted would come in handy when you have integration with external tools such as n8n, sometimes a complex functionality requires complex workflows which can be early constructed and maintained in workflow/API-building tools such as n8n, Node-RED, etc.
The use case is that we would sometimes need to Integrate wappler with such tools, having a RabbitMQ Integration would help you to pass on requests to backend Workflows built in those tools.
Consider for example a complex workflow wherein you do several checks against certain parameters, with conditional flows across which a request would pass through, although such a flow can be created in wappler, maintenance would become a headache when issues occur with the logic involved, asin a certain check fails, then you would need to go through each step checking input and outputs. In such cases, I prefer to have the flows built-in tools such as n8n wherein the troubleshooting/maintenance becomes really easy, you can visualize the data passing across the flow and easily determine where things went wrong.
For the Demo setup, you would require to have a RabbitMQ instance preferably in Docker
ex: docker run -d --hostname rabbit --name rabbit rabbitmq:latest
Join it on the same docker network that wappler is running on.
Have n8n or any other tool that you wish to use connected on the same docker network
ex:docker run -d --name n8n -p 5678:5678 n8nio/n8n
access the WebUI on http://localhost:5678 add RabbitMQ trigger node in n8n flow.
Now create a API in wappler and add the āAdd jobā step from the RabbitMQ Queues group.
add hostname: rabbit, and any queue name you wish to use ex: test
In n8n flow add the same queue name for the trigger, and execute the flow in n8n, it will start listening for test requests.
Run the wappler api that you created, and the request would get received on n8n side.
For Wappler Internal use cases I would recommend using š¦¬ Bull Queues for Node by @mebeingken