微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python如何操作RabbitMQ?Python怎么去使用消息队列完成通信

RabbitMQ是一个代理中间件,它是一个可以嵌入在不同编程语言程序中使用的工具,不过这个工具却实现了高级消息队列协议能够来完成进程之间的消息通信。下面这篇文章主要介绍的内容就是python程序之中操作Rabbitmq实现消息队列通信的方法,往下看看吧。

一、安装

因为rabbitmq这个工具是需要通过下载安装后才可以使用的,所以才windows系统上直接在浏览器搜索官网就可以去将其给下载然后安装,因为是开源的所以免费使用。

另外linux操作系统或者是macos系统因为自带有软件和包管理工具,能够通过命令行命令来选择安装一些软件,所以打开命令行之后执行如下三个命令即可:

apt-get update
apt-get install erlang
apt-get install rabbitmq-server

而且是要在python中去使用它,就得用pip安装一下pika这个工具才可以从外部来将其导入使用rabbitmq,命令如下所示:

pip install pika

二、python使用rabbitmq

那么在python程序中使用它自然是通过代码来实现的,分别需要去写两个py文件运行,这是因为该工具的作用就是实现两个进程之间的消息通信和传输。第一个文件是用来传输消息的,导入模块新建对象之后,创建queue队列调用方法即可来发送消息,代码如下所示:

import pika
import time
user_info = pika.PlainCredentials('guest', 'guest') 
connection = pika.BlockingConnection(pika.ConnectionParameters('ip', 5672, '/', user_info)) 
channel = connection.channel()
channel.queue_declare(queue='hello')
for i in range(0, 100):
    channel.basic_publish(exchange='', routing_key='hello',body='{}'.format(i))
    time.sleep(1)
connection.close()

那么接收这个消息的进程文件被称之为消费者,它需要使用同样的账号密码创建连接对象,然后去创建队列实例对象。再通过方法来指定接收的消息是哪个进程发来的,详细代码示例如下所示:

import pika
user_info = pika.PlainCredentials('root', 'root')
connection = pika.BlockingConnection(pika.ConnectionParameters('ip', user_info))
channel = connection.channel()
channel.queue_declare(queue='hello')
def callback(ch, method, properties, body):
  print('收到:{}'.format(body))
channel.basic_consume(queue='hello', auto_ack=True,on_message_callback=callback)
channel.start_consuming()

以上就是关于“Python如何操作RabbitMQ?Python怎么去使用消息队列完成通信”的全部内容了,希望对你有所帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐