获取从芹菜组任务抛出的异常对象

时间:2016-02-23 18:08:16

标签: exception celery celery-task

我有一个组对象。我不想等到所有任务完成并打印出结果。这是我的代码:

char[] result = new char[characters.length];

// copy the first character
result[0]=characters[0];
int resultIndex=1;

for(int i=1; i<characters.length; i++) {
    // if the current character and the last character are not both spaces
    if(!(result[resultIndex-1]==' ' && characters[i]==' ')) {
        result[resultIndex++]=characters[i];
    }
}

// fill the rest of the array with '\u0000'
while (resultIndex<characters.length) {
    result[resultIndex++]='\u0000';
}

return result;

如果一切按预期进行,那么结果我得到了

tasks = [my_task.s(some_val=val).set(queue='different_q') for val in val_list]
job = group(tasks)
job_result = job.apply_async()
results = job_result.get()

但如果其中一个任务抛出异常,则[val1, val2, val3] 会抛出异常。 我知道在job_result.get()我可以传播异常但我找不到在chord中这样做的正确方法。
这是想要的结果:

group

并且[val1, Exception('some exception'), val3] 不会抛出异常。

0 个答案:

没有答案