Python芹菜多未注册任务



我在芹菜中有两个队列和一个带有任务的tasks.py。当我用

运行芹菜时
celery worker -A myapp  -l info -Q messages1
celery worker -A myapp  -l info -Q messages2

在两个不同的终端,它工作得很好,并运行我的所有任务。

但是如果我碰到

celery multi start 2 -Q:1 messages1 -Q:2 messages2 --loglevel=DEBUG

得到[2014-05-08 15:30:33,020: ERROR/MainProcess] Received unregistered task of type。我做错了什么?

UPDATE:我发现

 celery worker -A myapp  -l info -Q messages1
 celery worker -A myapp  -l info -Q messages2

实际上运行一个worker。当我为每个worker指定-n参数时:

 celery worker -A myapp  -l info -Q messages1 -n w1
 celery worker -A myapp  -l info -Q messages2 -n w2

我也有同样的问题:

[2014-05-08 16:51:05,329: ERROR/MainProcess] Received unregistered task of type
更新1:

我已经有了下面这行:

CELERY_ROUTES = {'messages.tasks.send_message': {'queue': 'message_send'}, 'messages.tasks.control_message_send': {'queue': 'message_manager'}}.

似乎没有效果。我像这样运行task:

result = send_message.apply_async(('number', 'message text'), queue='message_send'). 

问题分两步解决:

1)芹菜multi的正确运行字符串为celery multi start 2 -Q:1 messages1 -Q:2 messages2 --loglevel=DEBUG -A myapp

2)我忘记在__init__.py中导入我的应用程序:

`from __future__ import absolute_import
from myapp.celery_app import celery_app as celery_app`

日志信息中的这个链接非常有用。http://docs.celeryq.org/en/latest/userguide/tasks.html任务名称

相关内容

  • 没有找到相关文章

最新更新