我正在binderhub-based notebook上为使用dask和xarray的库运行一些示例。我发现在某些情况下/计算中,线程调度程序将挂起并停止处理。我知道概要分析,但是由于它挂起了并且不得不将其杀死,因此我不确定这是否可行。我还通读了调试信息here,但是日志记录信息似乎适用于分布式或多进程调度程序。计算最好在线程调度程序上运行,并且某些操作不是多进程安全的。笔记本在本地运行良好,这使得调试起来更加困难。
有人有其他想法可以调试吗?
答案 0 :(得分:0)
我从未见过线程调度程序会死锁。我的第一个猜测是您的函数在某种程度上对与他人一起运行很敏感。
要进行调试,您可以考虑在每次转换时打印出一组当前正在运行的任务。这可以帮助您确定有关系统何时死锁的模式。为此,您可以查看custom callbacks