首页 > 解决方案 > Dask 线程调度程序调试技巧

问题描述

我正在开发一个基于 binderhub 的笔记本来为我的使用 dask 和 xarray 的库运行一些示例。我发现在某些情况/计算中,线程调度程序只会挂起并停止处理。我知道分析,但由于它挂起并且我必须杀死它,我不确定这是否是一个可行的选择。我也通读了这里的调试信息,但日志信息似乎是针对分布式或多进程调度程序的。计算最好在线程调度程序上运行,并且某些操作不是多进程安全的。笔记本在本地运行良好,这使得调试变得更加困难。

有没有人有任何其他想法我可以调试这个?

标签: pythondask

解决方案


我从来没有单独看到线程调度程序死锁。我的第一个猜测是你的函数在某种程度上对与其他人一起运行很敏感。

要进行调试,您可能会考虑在每次转换时打印出一组当前正在运行的任务。这可能会帮助您确定系统何时死锁的模式。为此,您可能会查看自定义回调


推荐阅读