- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个 Django 1.7 项目和 Celery 3.1。我的 Django 项目中的所有应用程序都使用新的 AppConfig。问题是并不是所有的任务都可以通过 autodiscover_tasks
找到:
app.autodiscover_tasks(settings.INSTALLED_APPS)
如果我像这样使用 autodiscover_tasks 它将起作用:
app.autodiscover_tasks(settings.INSTALLED_APPS + ('apps.core','apps.sales'))
找到网站中定义的任务,但找不到核心和销售中的任务。所有的布局都与 apps.py
和 tasks.py
相同。
项目文件夹结构为:
apps
core
apps.py
tasks.py
dashboard
apps.py
sales
apps.py
tasks.py
websites
apps.py
tasks.py
类定义如下:
class WebsitesConfig(AppConfig):
name = 'apps.websites'
verbose_name = 'Websites'
class SalesConfig(AppConfig):
name = 'apps.sales'
verbose_name = 'Sales'
最佳答案
这在许多 Celery 问题中都有讨论,例如 #2596和 #2597 .
如果您使用的是 Celery 3.x,修复方法是使用:
from django.apps import apps
app.autodiscover_tasks(lambda: [n.name for n in apps.get_app_configs()])
如 #3341 中所述,如果您使用的是 Celery 4.x(即将发布),您可以使用:
app.autodiscover_tasks()
关于python - Celery autodiscover_tasks 不适用于所有 Django 1.7 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28628868/
我想知道 Celery 的 autodiscover_tasks 函数的用途是什么。我正在使用 Celery 4.1.2 和 Django 2.1.4。 Celery 文档引用了导入: foo.tas
我试图在我的应用程序中重用 autodiscover_tasks 函数而不使用 django,但它总是在我的 celery.py 中执行 autodiscover_tasks 时抛出 ValueErr
我正在设置 Django-celery(Django 1.5.5,最新版本的 celery 和 Django-celery)。我在一个应用程序中创建了任务,并在 proj/proj 中创建了一个 ce
我有一个 Django 1.7 项目和 Celery 3.1。我的 Django 项目中的所有应用程序都使用新的 AppConfig。问题是并不是所有的任务都可以通过 autodiscover_tas
我正在采取第一步在我的 Django 应用程序的后台添加 Celery 任务。但我仍然收到错误。 File "C:\Users\tymot\Desktop\send_sms_oferia\app_
我是一名优秀的程序员,十分优秀!