将 Dask 与 SGE 或 PBS 集群一起使用时,我有时会遇到工作人员 react 迟钝的情况。
这些工作人员在仪表板信息部分以红色突出显示,其“上次看到”编号不断增加。
我知道如果提交的任务持有 GIL 的时间过长,就会发生这种情况,但这里的情况并非如此。我说的是出现问题的 worker (可能与 dask 或任务本身无关)。
他们不会回来,也不会被检测为死亡。
问题是提交给这些工作人员的任务(他们在收到任务后变得无响应,也许是在加载环境时)永远不会结束并阻止一切。
如果在给定时间内没有响应,是否有允许“超时”或“无效”的设置?
如果没有,是否有可能以及推荐的手动执行此失效并将剩余任务分配给其他 worker 的方法是什么?
在此先感谢您提供有关此问题的任何帮助。
最佳答案
如果有人想知道同样的事情,答案在 following topic 中给出。 .
设置 worker-ttl parameter如果在指定的时间内没有看到 worker ,则允许将其视为死亡。
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"})
关于python - Dask:处理 react 迟钝的 worker ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66221545/