踩坑记录:20230726python多进程卡主
python多进程卡住
背景
在数据清洗等环节,有三位同学独立编写的python多进程在生产环境执行时卡住。在研发环境无法复现。 具体卡主的地方可能是:
File "/opt/conda/lib/python3.8/multiprocessing/pool.py", line 856, in next self._cond.wait(timeout) File "/opt/conda/lib/python3.8/threading.py", line 302, in wait waiter.acquire()
经过
在仔细调查后发现原因可能是系统在制作python进程副本时,对锁的处理不好,数据量大时会增加问题的发生概率。这个问题将在python版本的3.12版本Warning出来警告使用者。在python的3.14版本被完全修复。
结果
在python的3.14版本前,MNBVC的单个清洗脚本都会写成单进程的模式。通过MNBVC的框架代码来调用各个py脚本实现多进程的能力。如果非要实现多进程,请参考 详细问题说明 仔细研究修改多进程代码。
踩坑记录/20230726python多进程卡主.txt · 最后更改: 2023/08/09 19:23 由 MNBVC项目组