Процессы в многопроцессорном пуле перестали работать? - PullRequest
0 голосов
/ 28 января 2019

Я написал веб-сканер, использующий pool = multiprocessing.Pool(8) для загрузки статей с веб-сайта.

Сначала, когда я запускаю код, выполняется 8 процессов.

screenshot1 о моем диспетчере задач

Но через несколько минутнекоторые процессы перестают работать, только 4 или меньше процессов работают для загрузки статей.

screenshot2 о моем диспетчере задач

Я не могу загрузить изображения, потому что яу меня недостаточно репутации, поэтому я разместил скриншот с моим менеджером задач на моем github.Я искренне надеюсь, что вы сможете взглянуть на них.

Я уверен, что есть еще много задач, которые еще не выполнены.Оставшиеся 2-3 процесса будут продолжать выполнять все задачи, но другие процессы, которые прекратились, больше никогда не будут запускаться.

Я долго искал и могу найти только одно решение: после программывыполняется 10 минут, и некоторые процессы останавливаются; введите logging, чтобы зарегистрировать состояние программы, а затем уничтожить все процессы в пуле и перезапустить их.Но я не думаю, что это хорошая идея для меня.

Мой код на моем github .

Так что я хочу знать, почемунекоторые процессы в пуле перестанут работать и как решить эту проблему.Я хочу, чтобы все процессы в пуле запускались для загрузки статей.Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...