【问题标题】:Fault tolerance in Dask dependency graphsDask 依赖图中的容错
【发布时间】:2019-02-12 19:38:59
【问题描述】:

我有一个小型集群,我在其上部署了一个 dask 图:

from dask.distributed import Client
...
client = Client(f'{scheduler_ip}:{scheduler_port}', set_as_default=False)
client.get(workflow, final_node)

当然,在工作流程中,我有一堆并行运行的任务。但是,有时,一名工作人员正在运行的模块中存在错误。一旦该模块失败,它就会返回到调度程序,然后调度程序停止并行运行的其他工作(即使其他工作不依赖于这个)。它阻止了他们中途。

有没有办法让其他人完成,然后失败,而不是立即关闭它们?

【问题讨论】:

  • 是重试选项,还是有任务肯定会失败?
  • @mdurant 肯定会失败(有时)。我们希望其他任务尽可能多地完成,因为它们会产生我们可以使用的资产。当它失败并立即停止所有其他工作人员时,不会创建这些资产。

标签: python dask dask-distributed


【解决方案1】:

Client.get 函数是全有或全无。您可能应该查看期货界面。在这里,您将启动许多恰好相互依赖的计算。能完成的就会完成。

https://docs.dask.org/en/latest/futures.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-30
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    • 2016-11-13
    • 1970-01-01
    • 1970-01-01
    • 2010-09-29
    相关资源
    最近更新 更多