gpt4 book ai didi

python - 如何找到任务在 dask 分布式中失败的原因?

转载 作者:太空宇宙 更新时间:2023-11-04 03:05:19 25 4
gpt4 key购买 nike

我正在使用 dask.distributed 开发分布式计算系统。我使用 Executor.map 函数提交给它的任务有时会失败,而其他看似相同的任务会成功运行。

框架是否提供任何诊断问题的方法?

更新失败是指增加 Bokeh Web UI 中失败任务的计数器,由调度程序提供。已完成任务的计数器也增加了。

Executor.map 运行的函数返回 None。它与数据库通信,从其表中检索一些行,执行计算并更新值。

我在map中有40000多个任务,所以研究日志有点乏味。

最佳答案

如果任务失败,那么任何检索结果的尝试都会引发与 worker 上发生的错误相同的错误

In [1]: from distributed import Client

In [2]: c = Client()

In [3]: def div(x, y):
...: return x / y
...:

In [4]: future = c.submit(div, 1, 0)

In [5]: future.result()
<ipython-input-3-398a43a7781e> in div()
1 def div(x, y):
----> 2 return x / y

ZeroDivisionError: division by zero

但是,其他事情可能会出错。例如,您的工作人员上可能没有与客户端上相同的软件,或者您的网络可能不允许连接通过,或者现实世界网络中发生的任何其他事情。为了帮助诊断这些,有几个选项:

  1. 您可以使用 web interface跟踪您的任务和工作人员的进度
  2. 你可以start IPython kernels在调度程序或工作人员中直接检查它们

关于python - 如何找到任务在 dask 分布式中失败的原因?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39647019/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com