Instructions
July 17, 2025 ยท View on GitHub
- Run
docker compose up --detach --wait - You need four terminals/panes.
I'm using tmux to split the terminal into panes.
Runtmux new-session \; split-window -v \; split-window -v \; select-pane -U \; split-window -h \; select-pane -U \; - In the bottom left pane run
docker compose exec consumer-a python /usr/src/consumer.py "*.critical" - In the bottom right pane run
docker compose exec consumer-b python /usr/src/consumer.py "kernel.*" - In the bottom pane run
docker compose exec consumer-c python /usr/src/consumer.py "#" - In the top pane run
for i in {1..6}; do docker compose exec producer python /usr/src/producer.py; done - In the top pane run
docker compose down --volumes && docker network rm -f rabbitmq
To access RabbitMQ management console go to localhost:15672 and use following credentials:
- Username:
bugs - Password:
bunny
Terminal

Testing
bash src/scripts/rabbitmq-tests-e2e.sh
docker compose exec producer bash -c "python -m unittest discover /usr/src"
docker compose exec producer python -m unittest /usr/src/tests/test_producer.py
docker compose exec consumer-a python -m unittest /usr/src/tests/test_consumer.py
Debug
docker compose exec broker rabbitmqctl list_queues
docker compose exec broker rabbitmqctl list_bindings
docker compose exec broker rabbitmqctl list_exchanges