我编写了一个使用pool = multiprocessing.Pool(8)
从网站下载文章的网络爬虫。
首先,当我开始运行代码时,有8个进程正在运行。
screenshot1 about my task manager
但是几分钟后,某些进程停止运行,只有4个或更少的进程正在运行以下载文章。
screenshot2 about my task manager
我无法上传图像,因为我的声誉不高,因此我将有关任务管理器的屏幕截图放在github上。我衷心希望你能看看他们。
我确定仍然有许多任务没有完成。其余2到3个进程将继续完成所有任务,但是其他已停止的进程将不再运行。
我已经搜索了很长时间,但只能找到一种解决方案:程序运行10分钟并且某些进程停止运行后,请使用logging
记录程序的状态,然后终止所有进程在池中,然后重新启动它们。
但是我认为这对我来说不是个好主意。
我的代码在我的github上。
所以我想知道为什么池中的某些进程将停止运行以及如何解决此问题。我希望池中的所有进程都可以运行以下载文章。谢谢。