我正在尝试使用 pika 连接到队列,在我的本地机器上运行,并且 rabbitmq 在 docker 容器中运行。我可以使用curl 命令和在 Web 浏览器中查看http://0.0.0.0:15677上的 rabbitmq ,所以我知道 rabbitmq 看起来运行良好 - 但是,我无法使用 python 连接到它.
当我没有在我的 pika.ConnectionParemers 中包含端口时,连接会立即被彻底拒绝。当我确实包含端口时,连接挂起并且永远不会显示在rabbitmq的一侧。不确定 docker 或 pika 是否发生了一些奇怪的事情,但值得一提的是,我的代码连接到了一个其他方面相同的 rabbitmq 服务器,它不是 docker 容器。
我正在运行最新版本的 OSX 并使用 python 2.7 和 pika 0.10.0。
RMQ_URL = '0.0.0.0'
HOST_QUEUE = 'snarfer'
VHOST = 'beta'
RMQ_PORT = 15677
ROUTING_KEY = 'snarfer.discovery'
self.connection = pika.BlockingConnection(pika.ConnectionParameters(
host=s.RMQ_URL, virtual_host=s.VHOST, port=s.RMQ_PORT))
***编辑:向 ConnectionParameters 添加凭据什么都不做。