芹菜因为错误而运行不佳 104



我在rabbitmq服务器上执行芹菜时遇到问题。我搜索并找到了一个链接,但对我没有帮助。我的env是ubuntu 14.04,python 2.7.6,芹菜3.1.15,Django 1.7。引用一个链接,我在本地安装了rabbitmqserver。我在rabbitmqserver中添加了用户、vhost并设置了权限。

$ sudo rabbitmqctl add_user tonyg password
$ sudo rabbitmqctl add_vhost vir_host
$ sudo rabbitmqctl set_permissions -p vir_host tonyg ".*" ".*" ".*"

我的芹菜放在姜戈。

BROKER_URL = 'amqp://tonyg:password@localhost:5672//vir_host'
CELERY_RESULT_BACKEND = 'amqp://tonyg:password@localhost:5672//vir_host'
CELERY_ACCEPT_CONTENT = [u'application/x-python-serialize', u'image/jpeg', u'image/bmp', u'image/png', u'image/tiff']
CELERY_TIMEZONE = 'Asia/Tokyo'
CELERY_ENABLE_UTC = True
CELERY_IGNORE_RESULT = False

除了默认配置之外,我没有设置任何关于rabbitmqserver的内容。

我把芹菜做成这样。

$ celery -A MyProj worker -l info
-------------- celery@ip-172-31-3-10 v3.1.15 (Cipater)
---- **** ----- 
--- * ***  * -- Linux-3.13.0-36-generic-x86_64-with-Ubuntu-14.04-trusty
-- * - **** --- 
- ** ---------- [config]
- ** ---------- .> app:         MyProj:0x7f7453328b10
- ** ---------- .> transport:   amqp://tonyg:**@localhost:5672//vir_host
- ** ---------- .> results:     amqp://tonyg:password@localhost:5672//vir_host
- *** --- * --- .> concurrency: 1 (prefork)
-- ******* ---- 
--- ***** ----- [queues]
 -------------- .> celery           exchange=celery(direct) key=celery

[tasks]
  . MyProj.tasks. ......
  . MyProj.tasks. ......
[2014-10-29 15:07:50,241: ERROR/MainProcess] consumer: Cannot connect to amqp://tonyg:**@127.0.0.1:5672//vir_host: [Errno 104] Connection reset by peer.
Trying again in 2.00 seconds...
[2014-10-29 15:07:55,251: ERROR/MainProcess] consumer: Cannot connect to amqp://tonyg:**@127.0.0.1:5672//vir_host: [Errno 104] Connection reset by peer.
Trying again in 4.00 seconds...

当我使用默认的访客标识符设置芹菜时

BROKER_URL = 'amqp://guest:guest@localhost:5672//'
CELERY_RESULT_BACKEND = 'amqp://guest:guest@localhost:5672//'

它确实运行良好。我不知道为什么。有人能帮我吗?非常感谢。

运行rabbitmqctl list_vhosts。输出为:

Listing vhosts ...
/
vir_host
...done.

因此URL必须是:

amqp://tonyg:**@localhost:5672/vir_host

感谢@Krzysztof Szularz的回答。发现你的url不正确。必须是

BROKER_URL = 'amqp://tonyg:password@localhost:5672/vir_host'

现在您正在通过localhost进行连接,它运行良好。如果你想远程连接,它不会起作用。您的帐户只是一个访客帐户,没有管理员权限。因此,用户必须仅通过本地主机连接。如果你想让用户从病毒主机访问,你需要给他特权

运行此命令可授予用户管理权限。

rabbitmqctl set_user_tags tonyg administrator

你可以在这里阅读更多关于这方面的信息。

相关内容

  • 没有找到相关文章

最新更新