RabbitMq 生产与消费消息

  • 编写 mq_connection.py 文件(连接Mq)

import pika

host = "127.0.0.1"
port = "5672"


def mq_conn():
    credentials = pika.PlainCredentials('admin', 'admin')  # mq用户名和密码
    # 虚拟队列需要指定参数 virtual_host,如果是默认的可以不填。
    connection = pika.BlockingConnection(
        pika.ConnectionParameters(host='127.0.0.1', port=5672, virtual_host='my_vhost', credentials=credentials))
    channel = connection.channel()

    return channel
  • 生产者(produce)

from py_rabbitmq.mq_connection import mq_conn, pika

conn = mq_conn()

# 声明队列
conn.queue_declare(queue='hello')

for i in range(10):
    conn.basic_publish(exchange='',
                       routing_key='hello',
                       body='Hello World!)
    print("produce is body")

conn.close()
  • 消费者(consume)

from py_rabbitmq.mq_connection import mq_conn

conn = mq_conn()

# 声明队列
conn.queue_declare(queue='hello')


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


conn.basic_consume(queue='hello', auto_ack=True, on_message_callback=callback)

conn.start_consuming()
  1. auto_ack 参数 是否做消息确认 默认为Fase 
  2. 如果为True consume会向RabbitMQ发送回执ACK, Mq会认为该条数据已被处理, 队列中的消息就会被删除
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值