【发布时间】:2019-06-27 15:00:34
【问题描述】:
查看创建 celery 任务的不同方法时,我感到非常困惑。从表面上看,它们的工作原理都是一样的,所以,谁能解释一下它们之间的区别。
1.
from myproject.tasks import app
@app.task
def foo():
pass
2.
from celery import task
@task
def foo():
pass
3.
from celery import shared_task
@shared_task
def foo():
pass
我通过谷歌搜索知道第一个和第三个之间的区别是shared_task,当您没有具体的应用程序实例时使用。有人可以详细说明一下,什么时候使用第二个?
【问题讨论】:
-
我对 #1 感到困惑,你在项目的哪个位置写这个?如果关注docs.celeryproject.org/en/stable/django/…,这也可以是
from proj.celery import app
标签: python django celery django-celery celery-task