Dask 分布式:如何通过计算识别工人是否空闲?

Dask distributed: How to computationally recognize if worker is idling?

我想监控 dask worker 并在它们处于空闲状态时重新启动它们。 有没有办法检测空闲的工人,例如通过计算工人在最后一分钟的平均 CPU 利用率?

您可能想查看 Scheduler.workers

中的调度程序状态

尝试

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

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

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

(这里我拉出来了CPU,但是里面的信息量很大)

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