先にDockerをインストール
dockerインストール - MBP(はてな)
$ vi Dockerfile
FROM rabbitmq:3.8.5-management-alpine
RUN rabbitmq-plugins enable rabbitmq_tracing
EXPOSE 5672 15672
$ docker image build -t rabbitmq-scd .
$ docker container create -p 5672:5672 -p 15672:15672 --name rabbitmq-scd rabbitmq-scd
$ docker container start rabbitmq-scd
RabbitMQをインストールする(Windows/Mac/Docker) - Qiita
$ sudo pip3 install pika
$ vi client_main.py
import pika
pika_param = pika.ConnectionParameters('localhost')
connection = pika.BlockingConnection(pika_param)
channel = connection.channel()
try:
channel.queue_declare(queue='hello', passive=True)
except pika.exceptions.ChannelClosedByBroker as ex:
print(ex)
exit(1)
channel.basic_publish(exchange='', routing_key='hello', body='Hello World!')
connection.close()
$ python3 client_main.py
$ vi host_main.py
import datetime
import pika
pika_param = pika.ConnectionParameters(host='localhost', channel_max=2)
connection = pika.BlockingConnection(pika_param)
channel = connection.channel()
channel.queue_declare(queue='hello')
def callback(ch, method, properties, body):
print("{} Received. {}".format(body, datetime.datetime.now()))
ch.basic_ack(delivery_tag = method.delivery_tag)
channel.basic_consume(
queue='hello', on_message_callback=callback)
channel.start_consuming()
$ python3 host_main.py
管理画面
safariでhttp://localhost:15672を開く