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

相关推荐
甄心爱学习几秒前
【项目实训】法律文书智能摘要系统5
python·github
赏金术士3 分钟前
Kotlin 协程面试题大全(Android 高频版)
android·开发语言·kotlin
烟雨江南aabb10 分钟前
Python第四弹:python进阶-匿名函数和内置函数
开发语言·python
不瘦80斤不改名20 分钟前
JavaScript 基础语法完全指南
开发语言·javascript·ecmascript
TE-茶叶蛋27 分钟前
Java 8 引入的Stream API-stream()
java·windows·python
小陈的进阶之路28 分钟前
Python系列课(9)——面向对象
开发语言·python
两年半的个人练习生^_^37 分钟前
什么是内存泄漏?什么是内存溢出?
java·开发语言
曦夜日长40 分钟前
C++ STL容器string(二):删除与插入、数据查找、自定义输入
java·开发语言·c++
jimy142 分钟前
C语言中的inline function specifier(函数说明符、关键字)
c语言·开发语言
赏金术士43 分钟前
Kotlin 协程底层原理(Continuation)详解
java·开发语言·kotlin