原因是不能在 线程中创建子线程。
先检查在线程结束后 是否使用 pool.close() pool.join()
释放进程池。没有使用的话需要加上。
我的代码已经使用了,但依然会有问题,查阅资料,看到一个issues 和这个问题相关:
https://github.com/apache/airflow/issues/14896
原因是 multiprocessing 模块问题。
解决方案是:在代码中使用 billiard 模块替换 multiprocessing
billiard 模块 地址:https://pypi.org/project/billiard/
安装:
pip3 install billiard
使用:
#替换前:
from multiprocessing import Pool
#替换后:
from billiard import Pool
其他代码不需要改动,很神奇~很有效~
找了很久才找到解决方案,如果对你有用,请点个赞吧~