Django和Celery任务

时间:2017-04-04 15:44:55

标签: python django celery django-celery

所以在我们的Django项目中,我们使用的是Celery和Django-Celery模块。最初编写任务部分的人就这样写了:

from djcelery import celery

@celery.task
def do_something():
    ...

但是文档中的每个地方都显示我们应该创建一个单独的celery.py文件并像这样导入应用程序:

celery.py

from celery import Celery

app = Celery('project')
if __name__=='__main__':
    app.run()

tasks.py

from celery import app # Importing `app` from our celery.py

@app.task
def do_something():
    ...

所以我想知道是否有问题这样或那样做?我们正在使用django-celery 3.1版

1 个答案:

答案 0 :(得分:3)

start with celery documentation

中的第一页
  

以前版本的Celery需要一个单独的库才能工作   与Django,但从3.1开始不再是这种情况。 Django是   现在支持开箱即用,因此本文档仅包含基本内容   整合Celery和Django的方法。你将使用相同的API   非Django用户,因此建议您阅读第一步   Celery教程首先回到本教程。当你有一个   在工作示例中,您可以继续阅读“后续步骤”指南。

继django-celery之后的第一行自述文件状态

  

老django芹菜整合项目。

总结如下,django-celery是您的应用程序使用的旧方法,新文档遵循处理芹菜的新方法