python rabbitmq 手动ack

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()

Centos 安装 RabbitMQ

rabbitmq-doc

相关推荐
jghhh015 分钟前
基于MATLAB的可见光通信系统仿真实现
开发语言·matlab
xiaoqider16 分钟前
C++模板进阶
开发语言·c++
yaonoran16 分钟前
【无标题】
java·开发语言·变量
康小庄22 分钟前
浅谈Java中的volatile关键字
java·开发语言·jvm·spring boot·spring·jetty
移幻漂流27 分钟前
C/C++并发编程详解:如何写出优秀的并发程序
c语言·开发语言·c++
忧郁的橙子.31 分钟前
26期_01_Pyhton判断语句
python
快乐小胡!35 分钟前
【自动化测试】Selenium选择/定位元素的基本方法
python·selenium·测试工具
余醉 | dtminer39 分钟前
R语言常见新手问题
开发语言·r语言
それども42 分钟前
为什么要加@ResponseBody
java·开发语言·spring boot
一只专注api接口开发的技术猿1 小时前
微服务架构下集成淘宝商品 API 的实践与思考
java·大数据·开发语言·数据库·微服务·架构