达斯克斯工人优雅的任务失败

时间:2017-08-24 12:29:12

标签: dask dask-distributed

当我运行dask.distributed worker时,任务函数中抛出的任何异常都会传播到调度程序并终止整个作业。有没有办法优雅地使任务失败,以便调度程序负责重试它(可能在另一个工作者上)?

1 个答案:

答案 0 :(得分:1)

目前,Dask.distributed调度程序将异常解释为任务的真值。目前不支持自动重试(截至2017年8月)。然而,这经常被要求。我不会对在不久的将来看到这种变化感到惊讶。

与此同时,我们建议在您的任务中添加重试逻辑。

def f(*args, **kwargs):
    for i in range(n_retries):
        try:
            # your code
            # return result
        except Exception:
            pass

future = client.submit(f, *args, **kwargs)