Python rabbitMQ如何实现生产消费者模式

以下是Python rabbitMQ如何实现生产消费者模式的完整攻略,包含两个示例说明。

示例1:简单队列模式

步骤1:安装pika库

在使用Python操作RabbitMQ时,您需要安装pika库。您可以使用以下命令进行安装:

pip install pika

步骤2:发送消息

import pika

connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()

channel.queue_declare(queue='my_queue')

message = 'Hello World!'
channel.basic_publish(exchange='', routing_key='my_queue', body=message)

print("Message sent: ", message)

connection.close()

步骤3:接收消息

import pika

def callback(ch, method, properties, body):
    print("Received message: ", body)

connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()

channel.queue_declare(queue='my_queue')

channel.basic_consume(queue='my_queue', on_message_callback=callback, auto_ack=True)

print('Waiting for messages. To exit press CTRL+C')
channel.start_consuming()

步骤4:运行程序

运行发送消息的程序后,您将看到以下输出:

Message sent:  Hello World!

运行接收消息的程序后,您将看到以下输出:

Waiting for messages. To exit press CTRL+C
Received message:  b'Hello World!'

示例2:工作队列模式

步骤1:安装pika库

同示例1。

步骤2:发送消息

import pika

connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()

channel.queue_declare(queue='my_queue', durable=True)

message = 'Hello World!'
channel.basic_publish(exchange='', routing_key='my_queue', body=message, properties=pika.BasicProperties(delivery_mode=2))

print("Message sent: ", message)

connection.close()

步骤3:接收消息

import pika
import time

def callback(ch, method, properties, body):
    print("Received message: ", body)
    time.sleep(5)
    print("Message processed")

connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()

channel.queue_declare(queue='my_queue', durable=True)

channel.basic_qos(prefetch_count=1)
channel.basic_consume(queue='my_queue', on_message_callback=callback)

print('Waiting for messages. To exit press CTRL+C')
channel.start_consuming()

步骤4:运行程序

运行发送消息的程序后,您将看到以下输出:

Message sent:  Hello World!

运行接收消息的程序后,您将看到以下输出:

Waiting for messages. To exit press CTRL+C
Received message:  b'Hello World!'
Message processed

以上就是Python rabbitMQ如何实现生产消费者模式的完整攻略,包含两个示例说明。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python rabbitMQ如何实现生产消费者模式 - Python技术站

(0)
上一篇 2023年5月15日
下一篇 2023年5月15日

相关文章

  • Java编程rabbitMQ实现消息的收发

    以下是Java编程RabbitMQ实现消息的收发的完整攻略,包含两个示例说明。 示例1:发送消息 步骤1:添加依赖 在使用Java编程实现RabbitMQ时,您需要添加以下依赖: <dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-clie…

    RabbitMQ 2023年5月15日
    00
  • Java RabbitMQ消息队列详解常见问题

    Java RabbitMQ消息队列详解常见问题 RabbitMQ是一个功能强大的消息队列系统,可以用于构建高可用性、高性能的分布式应用程序。在本文中,我们将介绍Java RabbitMQ消息队列的常见问题,并提供两个示例说明。 什么是RabbitMQ? RabbitMQ是一个开源的消息队列系统,它实现了高级消息队列协议(AMQP),可以用于构建高可用性、高性…

    RabbitMQ 2023年5月15日
    00
  • 用docker部署RabbitMQ环境的详细介绍

    用 Docker 部署 RabbitMQ 环境的详细介绍 RabbitMQ 是一个开源的消息队列系统,支持多种消息传递协议。在实际应用中,我们经常需要使用 RabbitMQ 来实现消息传递功能。本文将介绍如何使用 Docker 部署 RabbitMQ 环境,并提供两个示例说明。 安装 Docker 首先需要安装 Docker。可以参考 Docker 官方文档…

    RabbitMQ 2023年5月15日
    00
  • 浅谈springcloud常用依赖和配置

    以下是“浅谈Spring Cloud常用依赖和配置”的完整攻略,包含两个示例。 简介 Spring Cloud是一个基于Spring Boot的微服务框架,可以用于构建和管理分布式系统。在使用Spring Cloud时,需要使用一些常用的依赖和配置。本攻略将介绍Spring Cloud常用的依赖和配置。 示例1:使用Eureka注册中心 以下是一个使用Eur…

    RabbitMQ 2023年5月15日
    00
  • SpringBoot停止启动时测试检查rabbitmq操作

    以下是“SpringBoot停止启动时测试检查rabbitmq操作”的完整攻略,包含两个示例。 简介 在SpringBoot应用程序中,可以使用RabbitMQ作为消息队列系统。本攻略将详细介绍如何在SpringBoot停止启动时测试检查RabbitMQ操作,包括使用Embedded RabbitMQ和使用Mockito进行测试。 Embedded Rabb…

    RabbitMQ 2023年5月15日
    00
  • Python进程间通信multiprocess代码实例

    以下是Python进程间通信multiprocess代码实例的完整攻略,包含两个示例。 简介 在Python中,我们可以使用multiprocess模块来实现进程间通信,包括共享内存、管道、队列等方式。本攻略将详细讲解Python进程间通信multiprocess代码实例,并提供两个示例。 示例一:使用管道进行进程间通信 以下是使用管道进行进程间通信的代码示…

    RabbitMQ 2023年5月15日
    00
  • php ActiveMQ的安装与使用方法图文教程

    以下是“PHP ActiveMQ的安装与使用方法图文教程”的完整攻略,包含两个示例。 简介 ActiveMQ是一个流行的开源消息中间件,它支持多种协议和编程语言,包括PHP。在PHP中,可以使用ActiveMQ实现消息队列、发布/订阅等功能。本攻略将介绍如何在PHP中安装和使用ActiveMQ,包括安装ActiveMQ、创建队列、发送消息、订阅消息等。 安装…

    RabbitMQ 2023年5月15日
    00
  • 详解SpringBoot集成消息队列的案例应用

    以下是“详解SpringBoot集成消息队列的案例应用”的完整攻略,包含两个示例。 简介 消息队列是一种常见的应用场景,它可以用于解耦和异步处理。本攻略将介绍如何使用Spring Boot和RabbitMQ实现一个简单的消息队列,并提供两个示例。 Spring Boot集成RabbitMQ实现消息队列 使用Spring Boot和RabbitMQ实现消息队列…

    RabbitMQ 2023年5月15日
    00
合作推广
合作推广
分享本页
返回顶部