Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
芹菜链对django不起作用_Django_Python 3.x_Celery_Django Celery - Fatal编程技术网

芹菜链对django不起作用

芹菜链对django不起作用,django,python-3.x,celery,django-celery,Django,Python 3.x,Celery,Django Celery,我的目的是按顺序调用两个任务 任务1完成后,调用任务2。到现在为止,我一直在做这个 为了按顺序执行任务,我使用了我在文档中找到的chain方法。但是我的任务不需要上一个任务的结果,正如文档所说的那样。因此,我将CELERY\u IGNORE\u RESULT=True定义为chain方法,在执行时不获取上一个任务的结果 下面是我如何编写代码的 task.py views.py 我每次尝试都会出现以下错误: |“AsyncResult”和“AsyncResult”的操作数类型不受支持 有人知道我如

我的目的是按顺序调用两个任务

任务1完成后,调用任务2。到现在为止,我一直在做这个

为了按顺序执行任务,我使用了我在文档中找到的chain方法。但是我的任务不需要上一个任务的结果,正如文档所说的那样。因此,我将
CELERY\u IGNORE\u RESULT=True
定义为chain方法,在执行时不获取上一个任务的结果

下面是我如何编写代码的

task.py

views.py

我每次尝试都会出现以下错误:

|“AsyncResult”和“AsyncResult”的操作数类型不受支持


有人知道我如何解决这个问题吗?

问题是。。。您应该改为链接签名:

chain(task1.s(标识符),task2.s(标识符))().get()

从文档:

chain原语允许我们将签名链接在一起,这样一个签名被一个接一个地调用,基本上形成了回调链


有关更多详细信息,请参见

请发布完整的回溯。就像我的函数一样,不要使用参数,而是使用signatures.s()替换.si()不可变签名,并解决我的问题,谢谢@trinchet
@app.task
def task1(param):
     ...

@app.task
def task2(param):
    ....
from .task import task1, task2
from celery import chain

chain(task1.delay(identifier), task2.delay(identifier))().get()