gpt4 book ai didi

python - 发布新任务时Celery Flower "Unknown task"错误

转载 作者:太空宇宙 更新时间:2023-11-04 06:03:56 32 4
gpt4 key购买 nike

我正在运行 celery 3.1.11 和 flower 0.6.0。

我有一个这样配置的 celery 应用程序;

# myapp.tasks.celery.py
from __future__ import absolute_import

from celery import Celery


class Config(object):
BROKER_URL = 'amqp://'
CELERY_RESULT_BACKEND = 'amqp'

CELERY_TASK_RESULT_EXPIRES = None
CELERY_RESULT_SERIALIZER = 'json'
CELERY_INCLUDE = [
'myapp.tasks.source',
'myapp.tasks.page',
'myapp.tasks.diffusion',
'myapp.tasks.place',
]
)

celery = Celery('myapp')
celery.config_from_object(Config)


if __name__ == '__main__':
celery.start()

我使用以下命令执行 celery worker:

$ celery -A myapp.tasks worker --loglevel=INFO -E -Q celery

我可以在工作人员输出中看到可用任务的完整列表。

[tasks]
...
. myapp.tasks.diffusion.post_activity
...

然后我使用以下命令执行花服务器:

$ celery -A myapp.tasks flower

现在,每当我尝试通过 Flower REST API 发布新任务时,我都会收到 404 错误消息“未知任务 TASK_NAME”。

[W 140423 12:16:17 web:1302] 404 POST /api/task/async-apply/myapp.tasks.diffusion.post_activity (82.225.61.194): Unknown task 'myapp.tasks.diffusion.post_activity'
[W 140423 12:16:17 web:1728] 404 POST /api/task/async-apply/myapp.tasks.diffusion.post_activity (82.225.61.194) 4.68ms

我在 flower API 处理程序中放置了一个 pdb 断点,看起来处理请求时唯一可用的任务如下:

ipdb> pp celery.tasks
{'celery.backend_cleanup': <@task: celery.backend_cleanup of yoda.tasks.celery:0x7fb9191eb490>,
'celery.chain': <@task: celery.chain of yoda.tasks.celery:0x7fb9191eb490>,
'celery.chord': <@task: celery.chord of yoda.tasks.celery:0x7fb9191eb490>,
'celery.chord_unlock': <@task: celery.chord_unlock of yoda.tasks.celery:0x7fb9191eb490>,
'celery.chunks': <@task: celery.chunks of yoda.tasks.celery:0x7fb9191eb490>,
'celery.group': <@task: celery.group of yoda.tasks.celery:0x7fb9191eb490>,
'celery.map': <@task: celery.map of yoda.tasks.celery:0x7fb9191eb490>,
'celery.starmap': <@task: celery.starmap of yoda.tasks.celery:0x7fb9191eb490>}

似乎没有可用的任务。但是,当我在 shell 中使用任务 async_apply() 方法时,任务由 worker 执行。

知道我做错了什么吗?谢谢!

编辑:当我使用 celery 3.0.19 和 flower 0.5.0 时,它似乎无法正常工作。

最佳答案

这个错误是由于 Flower 中的一个错误,现在已经解决了:

问题:https://github.com/mher/flower/issues/200

解决提交:https://github.com/mher/flower/commit/bfba1eec90124c92586c480aebaf98ae63c31276

关于python - 发布新任务时Celery Flower "Unknown task"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23241431/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com