Dask worker 优雅的任务失败
Dask worker graceful task failure
当我 运行 dask.distributed 工作人员时,任务函数中抛出的任何异常都会传播到调度程序并终止整个作业。有没有办法优雅地使任务失败,以便调度程序负责重试它(可能在另一个工作人员上)?
目前 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)
当我 运行 dask.distributed 工作人员时,任务函数中抛出的任何异常都会传播到调度程序并终止整个作业。有没有办法优雅地使任务失败,以便调度程序负责重试它(可能在另一个工作人员上)?
目前 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)