This package is a plugin that allows chain-events to be used with rabbitmq. This plugin relies heavily on Rascal, a config drive wrapper for amqp.
Two main objects are exposed:
This is the generic object that instantiates a Rascal instance and can be used to publish messages to arbitrary RabbitMQ queues. The producer is the parent class of the RabbitMqHandler.
This is a chain-events event handler (IEventHandler) used to publish events to rabbitmq.
- Follow instructions at https://www.rabbitmq.com/install-debian.html#apt to install Erlang and RabbitMQ make sure to install for the correct linux distribution!
- Start server:
sudo systemctl start rabbitmq-server
- Check server status:
sudo systemctl status rabbitmq-server
- Stop server:
sudo systemctl stop rabbitmq-server
For more commands check: https://www.rabbitmq.com/rabbitmqctl.8.html#COMMANDS
sudo rabbitmqctl add_user admin password
sudo rabbitmqctl set_user_tags admin administrator
sudo rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
First attempt to find the cause of the problem (overloaded queue, exchange failure, etc) and find a solution directly. The steps outlined below are the LAST resort in the event of catastrophic failure for which no apparent solution can be found.
- Restart the RabbitMQ app with
sudo rabbitmqctl stop_app && sudo rabbitmqctl start_app
- Check if all is well again. If not, continue to step 2
- Restart the both the RabbitMQ app and Erlang server with
sudo rabbitmqctl shutdown && sudo systemctl start rabbitmq-server
- If the problem still persists continue to step 3 to reset rabbitmq to its virgin state (Rascal automatically recreates vhosts/exchanges/queues)
- Reset the RabbitMQ app with
sudo rabbitmqctl stop_app && sudo rabbitmqctl reset
. Then make sure to recreate the admin user using the steps outlined in Create an admin RabbitMQ User.
If the problem persists, then it may not originate from RabbitMQ but from Erlang or some other related service.