所以在我们的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版
答案 0 :(得分:3)
start with celery documentation
中的第一页以前版本的Celery需要一个单独的库才能工作 与Django,但从3.1开始不再是这种情况。 Django是 现在支持开箱即用,因此本文档仅包含基本内容 整合Celery和Django的方法。你将使用相同的API 非Django用户,因此建议您阅读第一步 Celery教程首先回到本教程。当你有一个 在工作示例中,您可以继续阅读“后续步骤”指南。
继django-celery之后的第一行自述文件状态
老django芹菜整合项目。
总结如下,django-celery是您的应用程序使用的旧方法,新文档遵循处理芹菜的新方法