如何使用 Pika 发布持久消息

问题描述 投票:0回答:1

我正在使用 Pika 与 Rabbit MQ 配合使用。我使用以下命令向经纪人发送消息:

channel.basic_publish('direct', 'samt_routing',json.dumps({'name':'reza','lastname':'rastgoo','id':i}))

在此之前,我声明队列和交换并将交换器绑定到队列,如下所示:

channel.queue_declare(queue='Samt',durable=True)
channel.exchange_declare(durable=True,exchange_type='direct',exchange='direct')
channel.queue_bind(queue='Samt',exchange='direct',routing_key='samt_routing')

但是当我重新启动容器时,所有消息都会被清除。

我可以用 Pika 向 Rabbit 发布持久消息吗?

python rabbitmq pika
1个回答
4
投票

https://github.com/pika/pika/search?q=persistent

basic_publish(
            exchange=exchange_name,
            routing_key=routing_key,
            body=body,
            properties=pika.BasicProperties(
                delivery_mode=pika.spec.PERSISTENT_DELIVERY_MODE,
                priority=headers.priority.value,
                headers=headers.dict(),
            )
© www.soinside.com 2019 - 2024. All rights reserved.