达斯分布:如何计算识别工人是否闲置?

问题描述

我想监视缓慢的工作程序,并在它们处于空闲状态时重新启动它们。 有没有办法检测闲置的工人,例如通过计算工作者在最后一分钟的平均cpu利用率?

解决方法

您可能想查看Scheduler.workers中的调度程序状态

尝试

workers = client.run(lambda dask_scheduler: dask_scheduler.workers)

然后查看每个.metrics对象的WorkerState属性

{address: ws.metrics["cpu"] for address,ws in workers.items()}

(这里我拔出CPU,但是里面有很多信息)

您可能还想看看自适应调度