python - Celery Django - 自定义任务发现

标签 python django celery django-celery

我不想将 celery 任务放在 tasks.py 中,而是将它们放在几个不同的文件中。

有没有办法告诉 Celery 在这些文件中查找任务?还是 tasks.py 在某处进行了硬编码?

如果有帮助,这是我的版本:

Django==1.8.7
celery==3.1.19
kombu==3.0.26
django-celery==3.1.17

最佳答案

根据celery docs ,因为 celery 3.1 版不再需要 django-celery 应用程序,因为 django 支持已经集成到 celery 本身中。

根据 tutorial ,只需要在项目的 __init__.py

中导入一个导入的 app 对象(celery.Celery 的实例)

app.autodiscover_tasks接受两个参数,

  • packages,可以很容易地成为 lambda: settings.INSTALLED_APPS
  • related_name,默认为tasks,但可以覆盖

关于python - Celery Django - 自定义任务发现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35486011/

相关文章:

python - 如何在 Django-Haystack 中调试 "Model <...> has more than one SearchIndex handling it"错误?

python - celerybeat - 多实例和监控

python - celery :一次分派(dispatch)很多工作

python - 根据 Python 中的字符串列表交叉检查文件行

python - 字符串无法正确比较

python - 矩阵列表理解均值

带有 Postgresql 的 django UUIDField

javascript - 无法在 JavaScript 中解析 JSON 数据结构

javascript - 使用 node.js 创建一个 Celery worker

python - 如何使嵌套的 IF 语句更整洁