python
# -*- coding: utf-8 -*-
# @Time : 2023/8/10 21:27
# @Author : Cocktail_py
import json
import pika
url = "amqp://user:pass@host:port"
queue_name = "myquename"
connection = pika.BlockingConnection(pika.URLParameters(url))
channel = connection.channel()
def get_queue_list():
"""批量获取数据"""
queue_list = []
# durable是否绑定队列
channel.queue_declare(queue=queue_name, durable=True)
# 绑定交换机
# channel.queue_bind(queue=queue_name,exchange="",routing_key="")
def callback(ch, method, properties, body):
print(f" [x] Received {body}")
queue_list.append(json.loads(body))
# ch.basic_ack(delivery_tag=method.delivery_tag)
# 单次获取数量
channel.basic_qos(prefetch_count=100)
channel.basic_consume(on_message_callback=callback, queue=queue_name)
connection.process_data_events()
return queue_list
channel.basic_ack(multiple=True)
connection.close()