从文档来看,Number of allowed automatic retries if computing a result fails.
“结果”是指每个单独的任务还是整个compute()调用?
如果是指整个调用,那么dask.delayed中如何实现每个任务的重试呢?
另外,我不确定重试是否有效,如下面的代码所示。
import dask
import random
@dask.delayed
def add(x, y):
return x + y
@dask.delayed
def divide(sum_i):
n = random.randint(0, 1)
result = sum_i / n
return result
tasks = []
for i in range(3):
sum_i = add(i, i+1)
divide_n = divide(sum_i)
tasks.append(divide_n)
dask.compute(*tasks, retries=1000)
Run Code Online (Sandbox Code Playgroud)
预期输出为 (1, 3, 5),实际输出为 ZeroDivisionError。