Celery Django - 自定义任务发现

时间:2016-02-18 15:45:54

标签: python django celery django-celery

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

有没有办法告诉Celery查看这些文件中的任务?或者tasks.py是否在某处硬编码?

以下是我的版本,如果它有帮助:

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

1 个答案:

答案 0 :(得分:2)

根据celery docs,自芹菜版本3.1起,不再需要django-celery应用了,因为django支持已经整合到芹菜中。

根据tutorial,只需要在项目的app

中导入导入的celery.Celery对象(__init__.py的实例)

app.autodiscover_tasks接受两个参数,

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