wordpress注册确认信,铁力seo,百度投诉电话24小时,Wordpress怎么連結mysqlpip install pika使用API操作RabbitMQ基于Queue实现生产者消费者模型View Code
对于RabbitMQ来说#xff0c;生产和消费不再针对内存里的一个Queue对象#xff0c;而是某台服务器上的RabbitMQ Server实现的消息队列。#!/usr/bin/env python
import pika# ###################… pip install pika使用API操作RabbitMQ基于Queue实现生产者消费者模型View Code
对于RabbitMQ来说生产和消费不再针对内存里的一个Queue对象而是某台服务器上的RabbitMQ Server实现的消息队列。#!/usr/bin/env python
import pika# ######################### 生产者 #########################connection pika.BlockingConnection(pika.ConnectionParameters(hostlocalhost))
channel connection.channel()channel.queue_declare(queuehello)channel.basic_publish(exchange,routing_keyhello,bodyHello World!)
print( [x] Sent Hello World!)
connection.close()#!/usr/bin/env python
import pika# ########################## 消费者 ##########################connection pika.BlockingConnection(pika.ConnectionParameters(hostlocalhost))
channel connection.channel()channel.queue_declare(queuehello)def callback(ch, method, properties, body):print( [x] Received %r % body)channel.basic_consume(callback,queuehello,no_ackTrue)print( [*] Waiting for messages. To exit press CTRLC)
channel.start_consuming()
1、acknowledgment 消息不丢失no-ack False如果消费者遇到情况(its channel is closed, connection is closed, or TCP connection is lost)挂掉了那么RabbitMQ会重新将该任务添加到队列中。消费者
2、durable 消息不丢失生产者
消费者
3、消息获取顺序默认消息队列里的数据是按照顺序被消费者拿走例如消费者1 去队列中获取 奇数 序列的任务消费者1去队列中获取 偶数 序列的任务。channel.basic_qos(prefetch_count1) 表示谁来谁取不再按照奇偶数排列消费者
4、发布订阅发布订阅和简单的消息队列区别在于发布订阅会将消息发送给所有的订阅者而消息队列中的数据被消费一次便消失。所以RabbitMQ实现发布和订阅时会为每一个订阅者创建一个队列而发布者发布消息时会将消息放置在所有相关队列中。exchange type fanout发布者
订阅者
5、关键字发送exchange type direct之前事例发送消息时明确指定某个队列并向其中发送消息RabbitMQ还支持根据关键字发送即队列绑定关键字发送者将数据根据关键字发送到消息exchangeexchange根据 关键字 判定应该将数据发送至指定队列。消费者
生产者
6、模糊匹配exchange type topic在topic类型下可以让队列绑定几个模糊的关键字之后发送者将数据发送到exchangeexchange将传入”路由值“和 ”关键字“进行匹配匹配成功则将数据发送到指定队列。# 表示可以匹配 0 个 或 多个 单词
* 表示只能匹配 一个 单词
发送者路由值 队列中
old.boy.python old.* -- 不匹配
old.boy.python old.# -- 匹配
消费者
生产者 转载于:https://www.cnblogs.com/Erick-L/p/6999297.html