RabbitMQ is used as a message broker.
The RabbitMQ managagement console is exposed at
http://<your docker host>:15672/.
The username is
sfm_user. The password is the value of
- The hostname for RabbitMQ is
mqand the port is 5672.
- It cannot be guaranteed that the RabbitMQ docker container will be up and ready when
any other container is started. Before starting, wait for a connection to be available
on port 5672 on
rabbit. See appdeps.py for docker application dependency support.
- Publishers/consumers may not assume that the requisite exchanges/queues/bindings have previously been created. They must declare them as specified below.
sfm_exchange is a durable topic exchange to be used for all messages. All
publishers/consumers must declare it.:
#Declare sfm_exchange from kombu import Connection exchange = Exchange(name="sfm_exchange, type="topic", durable=True) exchange(channel).declare()
All queues must be declared durable.:
#Declare harvester queue from kombu import Queue queue = Queue(name="harvester", exchange=exchange, channel=channel, durable=True) queue.declare() queue.bind_to(exchange=exchange, routing_key="harvest.status.*.*")