3

将 Dask 与 SGE 或 PBS 集群一起使用时,有时我的工作人员会变得无响应。
这些工作人员在仪表板信息部分以红色突出显示,他们的“最后一次看到”数字不断增加。

我知道如果提交的任务持有 GIL 时间过长,可能会发生这种情况,但这里不是这种情况。我说的是出现问题的工人(可能与 dask 或任务本身无关)。
他们不会回来,也不会被检测为死亡。

问题是提交给这些工作人员的任务(他们在收到任务后变得没有响应,可能是在加载环境时)永远不会结束并阻塞一切。

如果工人在给定时间内没有响应,是否有允许“超时”或“无效”的设置?

如果没有,是否有可能以及手动执行此失效并将剩余任务分配给其他工作人员的推荐方法是什么?

在此先感谢您提供有关此问题的任何帮助。

4

1 回答 1

3

如果有人想知道同样的事情,答案在以下主题中给出。

设置worker-ttl 参数允许在指定的时间内没有看到某个工作人员时将其视为已死亡。

   worker-ttl:
    type:
    - string
    - "null"
    description: |
      Time to live for workers.
      If we don't receive a heartbeat faster than this then
      we assume that the worker has died.

这可以使用 dask 设置

dask.config.set({"distributed.scheduler.worker-ttl": "120min"})
于 2021-04-15T14:54:51.987 回答