【问题标题】:Dask: handling unresponsive workersDask:处理反应迟钝的工人
【发布时间】:2021-04-15 22:54:51
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

    标签: python dask dask-distributed


    【解决方案1】:

    如果有人想知道同样的事情,答案已在following topic 中给出。

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

       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"})
    

    【讨论】:

    • "min" 会触发错误,但例如 "s" 有效。
    猜你喜欢
    • 2017-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多