RabbitMq使用中常见错误--python版

用python的pika库错误集

 一、pika.exceptions.ProbableAuthenticationError: ConnectionClosedByBroker: (403) ‘ACCESS_REFUSED - Login was refused using authentication mechanism PLAIN. For details see the broker logfile.’

登录信息不全,需要使用用户名和密码登录。或者用户名、密码不正确。

如,connection = pika.BlockingConnection(pika.ConnectionParameters(host='192.168.1.2')),未使用用户名和密码等登录参数。可以参考下面的代码片段:

 

#!/usr/bin/env python

import pika

credentials = pika.PlainCredentials('the_user', 'the_pass')

parameters = pika.ConnectionParameters('133.45.23.14',5672,'/',credentials)

connection = pika.BlockingConnection(parameters)

 

 

 

 

 

二、pika.exceptions.ProbableAccessDeniedError: StreamLostError: (“Stream connection lost: ConnectionResetError(10054, ‘远程主机强迫关闭了一个现有的连接。’, None, 10054, None)”,)

服务未对该用户开放相关的权限,如 Virtual Host权限。需要登录服务端开放开头权限,以 Virtual Host权限为例:

启动web管理服务:在安装目录执行:rabbitmq-plugins enable rabbitmq_management

在浏览器中输入 http://127.0.0.1:15672,使用默认的用户名和密码登录:‘guest’, ‘guest’

增加一个新用户

点击用户名,点击开通权限即可

 

 

 

三、pika.adapters.utils.connection_workflow.AMQPConnectorStackTimeout: Timeout during AMQP handshake’192.168.1.33’/(<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 1>, 6, ‘’, (‘192.168.1.33’, 15672)); ssl=False

超时错误,可能是填写的端口号不正确

 

 

 

四、pika.exceptions.ChannelClosedByBroker: (406, “PRECONDITION_FAILED - inequivalent arg ‘durable’ for exchange ‘CLP_STG’ in vhost ‘/’: received ‘false’ but current is ‘true’”)

创建Exchange时,该Exchange已经存在,且本次创建时使用的参数与之前不符。具体到本异常,为 durable属性设置的值不同。

durable属性默认为false,无消息持久化特性

创建Exchange时使用 durable=True设置为true,使用消息持久化特性

posted @ 2023-02-01 08:42  何双新  阅读(1145)  评论(0编辑  收藏  举报