Jupyter并发测试以后出现EOFError marshal data too short

Jupyter 并发测试以后出现EOFError: marshal data too short

背景

由于项目需求需要用户能进行网页在线运行python代码程序,调研后决定使用Jupyter的服务接口实现此功能,目前使用docker进行容器化部署,测试针对次服务进行并发测试。测试并发过程中,导致kernels已经达到顶峰值,然后我暴力关掉所有的kernels以后,再进行使用的时候,出现EOFError: marshal data too short

现象

在这里插入图片描述

分析与解决方案

通过异常日志分析,查到这篇文章https://stackoverflow.com/questions/50391941/eoferror-marshal-data-too-short说是要pyc文件损坏,需要删除__pycache__文件夹下的文件。

从日志分析需要删除ipykernelIPythonjedi下的缓存文件,使用一下命令查询并删除

find /usr/local/lib/python3.11/dist-packages/ipykernel -name __pycache__ | grep IPython -exec rm -r {
    
    } +

删除完后发现还是解决不了问题。最后想了一个暴力的解决方案,直接删除dist-packagess 目录下的所有的__pycache__文件夹。

find . -type d -name "__pycache__" -exec rm -r {
    
    } +

再尝试运行一下,完美解决问题!

猜你喜欢

转载自blog.csdn.net/wagnteng/article/details/132270250