考虑以下情况:
# tasks.py
@app.task
def add(x, y):
return x + y
def add_normal(x, y):
return x + y
# test.py
from tasks import add, add_normal
add(1, 2)
add_normal(1, 2)
如果add方法没有变成芹菜任务(add(1,2)
),这个add_normal(1, 2)
调用是否会有所不同?
根据芹菜的文档Calling Tasks:
直接应用任务将在当前进程中执行任务,因此不会发送任何消息:
但是如果任务失败并且稍后会重新尝试,那么该任务是否会提交给代理?
有没有更明确解释的文件?谢谢!
答案 0 :(得分:0)
两者都是一样的。如果要将方法发送到任务队列,则需要使用装饰对象的apply_async
或delay
方法。