外国做的福利小视频在线观看网站,广告拍摄制作公司,网站建设酷隆,网站开发设计文档模板安装
安装包获取
可以自己找资源#xff0c;我这里也有百度云的资源#xff0c;如果没失效的话可以直接用。 通过百度网盘分享的文件#xff1a;RabbitMQ 链接#xff1a;https://pan.baidu.com/s/1rzcdeTIYQ4BqzHLDSwCgyw?pwdfj79 提取码#xff1a;fj79
安装教程…安装
安装包获取
可以自己找资源我这里也有百度云的资源如果没失效的话可以直接用。 通过百度网盘分享的文件RabbitMQ 链接https://pan.baidu.com/s/1rzcdeTIYQ4BqzHLDSwCgyw?pwdfj79 提取码fj79
安装教程可参考消息队列RabbitMQ在Windows中安装与配置完全解析_rabbitmq windows-CSDN博客
主要就是安装和设置环境变量安装的时候版本对应上就可以了。
插件安装
安装插件后就可以后续进入到 web 的管理界面
rabbitmq-plugins.bat enable rabbitmq_management
启动服务
rabbitmq-service start 界面操作
http://127.0.0.1:15672/
用户名密码默认都是 guest 登录到界面就可以看到队列的整体情况了。 还可以在界面上进行新增队列等操作 pika使用
可使用 python 的第三方包 pika 连接使用 rabbitmq 进行消息队列的发送和接收示例如下。
我下面的示例使用的是 pika0.13.1所以先安装包 pip install pika0.13.1
server.py
import jsonimport pika# 无密码
# connection pika.BlockingConnection(pika.ConnectionParameters(localhost))# 有密码
credentials pika.PlainCredentials(guest, guest)
connection pika.BlockingConnection(pika.ConnectionParameters(host127.0.0.1,port5672,virtual_host/,credentialscredentials))channel connection.channel()# 创建一个队列
channel.queue_declare(queuehello)# 发送数据
for i in range(5):value fHello world! {i}print(fSent {value})msg {key: value}body json.dumps(msg)# 同一条消息同时往多个队列发送channel.basic_publish(exchange,routing_keyhello, # 消息队列名称bodybody) # 发送的数据channel.basic_publish(exchange,routing_keytest_queue, # 消息队列名称bodybody) # 发送的数据connection.close()client.py
import jsonimport pikacredentials pika.PlainCredentials(guest, guest) # rabbit用户名和密码
connection pika.BlockingConnection(pika.ConnectionParameters(127.0.0.1, port5672, virtual_host/, credentialscredentials))
channel connection.channel()channel.queue_declare(queuehello)# 3.确定回调函数
def callback(ch, method, properties, body):print(Received %r % body)# 手动应答s body.decode(utf-8) # 将 bytes 转换为字符串data json.loads(s)print(data)# 4.确定监听队列参数
channel.basic_consume(callback,queuehello,no_ackTrue)print(Waiting for messages. To exit press CTRLC)# 5.正式监听
channel.start_consuming()报错解决
如果报错
AttributeError: module collections has no attribute Callable
将报错行的 collections.Callable 修改为 collections.abc.Callable 即可。
这个报错一般是 python 的版本太高导致。