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

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

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


一、安装
因为rabbitmq这个工具是需要通过下载安装后才可以使用的,所以才windows系统上直接在浏览器搜索官网就可以去将其给下载然后安装,因为是开源的所以免费使用 。
另外linux操作系统或者是macos系统因为自带有软件和包管理工具,能够通过命令行命令来选择安装一些软件,所以打开命令行之后执行如下三个命令即可:
apt-get updateapt-get install erlangapt-get install rabbitmq-server而且是要在python中去使用它,就得用pip安装一下pika这个工具才可以从外部来将其导入使用rabbitmq,命令如下所示:
pip install pika二、python使用rabbitmq
那么在python程序中使用它自然是通过代码来实现的,分别需要去写两个py文件运行,这是因为该工具的作用就是实现两个进程之间的消息通信和传输 。第一个文件是用来传输消息的,导入模块新建对象之后,创建queue队列并调用方法即可来发送消息,代码如下所示:
import pikaimport timeuser_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 pikauser_info = pika.PlainCredentials('root', 'root')connection = pika.BlockingConnection(pika.ConnectionParameters('ip', 5672, '/', 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怎么去使用消息队列完成通信】以上就是关于“Python如何操作RabbitMQ?Python怎么去使用消息队列完成通信”的全部内容了,希望对你有所帮助 。

    猜你喜欢