我在机器A上设置了rabbitmq + celery + flower。当我访问这朵花时,我会获得经纪人,任务和工人标签中的所有信息。
我如何在机器A上开花:
flower --broker=amqp://guest:guest@localhost:5672// --broker_api=http://guest:guest@localhost:15672/api/
但是,如果我在机器B上设置花,但是指向第一台机器A的amqp,我得不到任何信息。 3个标签保持空白。
我如何在机器B上开花:
flower --broker=amqp://guest:guest@machine_A_ip:5672// --broker_api=http://guest:guest@Machine_A_ip:15672/api/
注意:manegment-plugin已经启用。
我可能做错了什么?
由于
[编辑]
PS:
使用用户帐户和vhost,它仍然无法正常工作。
检查了日志,这就是:
[I 150112 11:15:13 command:107]经纪人:amqp://用户名: @ [broker ip]:5672 / vhapp
[I 150112 11:15:15 mixins:225]连接到amqp://用户名: @ [broker ip]:5672 / vhapp
[E 150112 11:16:18州:71]
无法获得经纪人信息:('连接已中止。',错误(110,'连接超时'))
[E 150112 11:17:50状态:112]无法检查经纪人:('连接已中止。',错误(110,'连接超时'))
[E 150112 11:17:50状态:112]无法检查经纪人:('连接已中止。',错误(110,'连接超时'))
[E 150112 11:17:50状态:112]无法检查经纪人:('连接已中止。',错误(110,'连接超时'))
[E 150112 11:17:50状态:112]无法检查经纪人:('连接中止。',错误(110,'连接超时'))
答案 0 :(得分:0)
我认为问题是RabbitMQ默认只允许用户“guest”从localhost连接。
通常,您应该专门为您的应用创建一个用户帐户。 Celery在这里有关于如何执行此操作的简单说明: http://docs.celeryproject.org/en/latest/getting-started/brokers/rabbitmq.html#setting-up-rabbitmq
您还可以配置RabbitMQ以允许guest虚拟机从远程主机进行连接,这将在此处讨论: https://www.rabbitmq.com/access-control.html
答案 1 :(得分:-1)
我明白了。
cmd > celery -A task worker
another cmd > celery flower
有效。