Я написал веб-сканер, использующий pool = multiprocessing.Pool(8)
для загрузки статей с веб-сайта.
Сначала, когда я запускаю код, выполняется 8 процессов.
screenshot1 о моем диспетчере задач
Но через несколько минутнекоторые процессы перестают работать, только 4 или меньше процессов работают для загрузки статей.
screenshot2 о моем диспетчере задач
Я не могу загрузить изображения, потому что яу меня недостаточно репутации, поэтому я разместил скриншот с моим менеджером задач на моем github.Я искренне надеюсь, что вы сможете взглянуть на них.
Я уверен, что есть еще много задач, которые еще не выполнены.Оставшиеся 2-3 процесса будут продолжать выполнять все задачи, но другие процессы, которые прекратились, больше никогда не будут запускаться.
Я долго искал и могу найти только одно решение: после программывыполняется 10 минут, и некоторые процессы останавливаются; введите logging
, чтобы зарегистрировать состояние программы, а затем уничтожить все процессы в пуле и перезапустить их.Но я не думаю, что это хорошая идея для меня.
Мой код на моем github .
Так что я хочу знать, почемунекоторые процессы в пуле перестанут работать и как решить эту проблему.Я хочу, чтобы все процессы в пуле запускались для загрузки статей.Спасибо.