RabbitMQ是消息队列。之前学过的队列queue:线程queue(threading queue),只是多个线程之间进行数据交互。进程queue(processing queue),只是父进程与子进程进行交互。两个独立的程序之间进行交互就需要中间代理(rabbitMQ)
1、最简单的生产者、消费者模型(一对一)
1 #生产者 2 3 #!/usr/bin/env python 4 # -*- coding:utf-8 -*- 5 #-Author-soloLi 6 import pika 7 8 connection = pika.BlockingConnection(pika.ConnectionParameters('localhost')) #连接到rabbitmq服务器,因为是在本地测试,所以就用localhost就可以了 9 channel = connection.channel() #声明一个管道(管道内发消息) 10 channel.queue_declare(queue='solo') #声明消息队列,消息将在这个队列中进行传递。如果将消息发送到不存在的队列,rabbitmq将会自动清除这些消息。 11 12 channel.basic_publish(exchange='', #exchange表示交换器,能精确指定消息应该发送到哪个队列 13 routing_key='solo', #routing_key 就是queue队列的名称 14 body='Hello World!' #发送内容 15 ) 16 print("Sent 'Hello,World!'") 17 connection.close() #关闭