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

相关推荐
_waylau6 分钟前
“Java+AI全栈工程师”问答02:Spring Boot 自动配置原理
java·开发语言·spring boot·后端·spring
JAVA面经实录9176 分钟前
Java架构师最终完整版学习路线图
java·开发语言·学习
WangN29 分钟前
【SONIC】Isaac Lab 系统入门指南
人工智能·python·机器人·自动驾驶·仿真
2501_9012005317 分钟前
Laravel 大批量数据填充时的内存泄漏与性能优化指南
jvm·数据库·python
勤自省18 分钟前
ROS2从入门到“重启解决”:21讲8~12章踩坑血泪史与核心总结
linux·开发语言·ubuntu·ssh·ros
TIEM_6922 分钟前
C++string|遍历、模拟实现、赋值拷贝现代写法
开发语言·c++
计算机安禾29 分钟前
【c++面向对象编程】第14篇:多态(一):虚函数——实现“一个接口,多种方法”
开发语言·c++
tellmewhoisi32 分钟前
单独抽取用户服务(请求不通):feign添加拦截器(添加token)
java·开发语言
APIshop39 分钟前
俄罗斯电商 Ozon 平台:ozon.item_get 商品详情接口深度技术解析
python
basketball6161 小时前
C++ Lambda 表达式完全指南
开发语言·c++·算法