gpt4 book ai didi

python - Celery 的 "autodiscover_tasks"函数的作用是什么?

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

我想知道 Celery 的 autodiscover_tasks 函数的用途是什么。我正在使用 Celery 4.1.2 和 Django 2.1.4。

Celery 文档引用了导入:

foo.tasks and bar.tasks being imported

但我无法理解这是如何工作的。

我在 GitHub 上找到的所有示例 including this one from the Official Celery repo ,依赖于手动导入(即 from demoapp.tasks import add, mul, xsum)任务,即使在启动 worker 时调用 autodiscover_tasks 函数也是如此。

我想这就是 Python 的工作方式,您无法“全局”访问类,例如在 Ruby 中。

那么再一次,这个函数是做什么用的呢?我不是 Celery 的专家,也许我遗漏了什么。我唯一看到的是启动 Celery worker 时发现的任务的名称,所有这些功能都是应该做的吗?

感谢您的意见,

最佳答案

当将 celery 与 django 一起使用时,autodiscover_tasks 函数会在每个 INSTALLED_APPS 条目内的任务模块中注册所有装饰任务。例如,

如果您的 INSTALLED_APPS 设置包括 app1、app2 和 app3,celery 将自动注册任何可以通过查看 app1.tasks 找到的修饰任务app2.tasksapp3.tasks

关于python - Celery 的 "autodiscover_tasks"函数的作用是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53726215/

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