RabbitMQ 生产和消息

1. 安装RabbitMQ

编写docker-compose.yml文件

version: '3.8'
services:
  rabbitmq:
    image: rabbitmq:management
    container_name: rabbitmq_container
    ports:
      - "5672:5672"
      - "15672:15672"
    volumes:
      - ./rabbitmq_data:/var/lib/rabbitmq
    environment:
      RABBITMQ_DEFAULT_USER: guest
      RABBITMQ_DEFAULT_PASS: guest

2. RabbitMQ 生产数据

import pika


def send_message():
    # Connection parameters including authentication
    credentials = pika.PlainCredentials('guest', 'guest')
    parameters = pika.ConnectionParameters(host='10.254.2.186', credentials=credentials)

    # Establish a connection
    connection = pika.BlockingConnection(parameters)
    channel = connection.channel()

    # Declare a queue
    queue_name = 'example_queue'
    channel.queue_declare(queue=queue_name)

    # Publish a message
    message = "Hello, RabbitMQ!"
    channel.basic_publish(exchange='', routing_key=queue_name, body=message)

    print(" [x] Sent %r" % message)
    connection.close()


if __name__ == '__main__':
    send_message()

3. RabbitMQ 消费数据

import pika


def receive_messages():
    # Connection parameters including authentication
    credentials = pika.PlainCredentials('guest', 'guest')
    parameters = pika.ConnectionParameters(host='10.254.2.186', credentials=credentials)

    # Establish a connection
    connection = pika.BlockingConnection(parameters)
    channel = connection.channel()

    # Declare a queue (this step is optional since it was declared by the sender)
    queue_name = 'example_queue'
    channel.queue_declare(queue=queue_name)

    def callback(ch, method, properties, body):
        print(" [x] Received %r" % body)

    # Start consuming messages
    channel.basic_consume(queue=queue_name, on_message_callback=callback, auto_ack=True)

    print(' [*] Waiting for messages. To exit press CTRL+C')
    channel.start_consuming()


if __name__ == '__main__':
    receive_messages()

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值