MBP(はてな)

MacBook Pro,iPhone Xs,React

DockerコンテナでRabbitMQ

f:id:fedora9:20210625220322p:plain

先に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

RabbitMqを使用するメリットと例 - Qiita

管理画面
safarihttp://localhost:15672を開く

pythonでrabbimqを扱う - Qiita