无法使用鼠标连接到远程rabbitmq服务器

时间:2016-02-29 13:16:53

标签: python rabbitmq pika

我正在尝试使用鼠标连接到我的远程rabbitmq,但我收到Connectionclosed()错误。我已经在guest.user用户的rabbit.config中进行了必要的更改,以允许所有连接以及同样的连接从我的Java代码开始工作。我甚至尝试使用所有权限创建一个新用户并连接它,但它仍然无法正常工作。虽然相同的代码在我的localhost上工作正常。任何人都可以让我知道我在这里做错了什么?

def queue_message(message, queue):
    credentials = pika.PlainCredentials('xxxx', 'xxxx')
    parameters = pika.ConnectionParameters('remote-server',
                                   5672,
                                    '/',
                                    credentials)
   connection = pika.BlockingConnection(parameters)
   channel = connection.channel()
   channel.queue_declare(queue='python_update_queue')
   channel.basic_publish(exchange='update.fanout',
                  body=message)
   logger.info("Sent message: {} to queue: {}".format(message, queue))
   print 'message sent'
   connection.close()

以下是我得到的错误:

app/project/rabbitmq.py" in queue_message
connection = pika.BlockingConnection(parameters)
env/lib/python2.7/site-packages/pika/adapters/blocking_connection.py" in __init__
     self._process_io_for_connection_setup()
env/lib/python2.7/site-packages/pika/adapters/blocking_connection.py" in ss_io_for_connection_setup
                        self._open_error_result.is_ready)
env/lib/python2.7/site-packages/pika/adapters/blocking_connection.py" in _flush_output
         raise exceptions.ConnectionClosed

4 个答案:

答案 0 :(得分:5)

为您的连接参数添加连接超时 - 您可能会遇到超时问题,即网络中连接速度不够快。

另外,您的代码明确调用connection.close() ...这可能就是您的连接正在关闭的原因

答案 1 :(得分:4)

这确实是一个超时问题。在增加连接参数的超时后,正确建立连接。

parameters = pika.ConnectionParameters('remote-server',
                                   5672,
                                   '/',
                                   socket_timeout=2)

答案 2 :(得分:0)

如果您连接到远程rabbitmq服务器,请检查:

  1. 使用防火墙打开远程服务器端口

  2. 远程服务器具有公共IP和rabbitmq用户可以访问该服务器

  3. rabbitmq服务器正在运行

答案 3 :(得分:-1)

  • 在管理员代码中添加您的用户管理员;

    rabbitmqctl set_user_tags admin administrator      
    
  • 为用户admin添加足够的权限

    rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"