Найти - Пользователи
Полная версия: зависают потоки concurrent.futures, помогите найти причину
Начало » Python для новичков » зависают потоки concurrent.futures, помогите найти причину
1
Игнат
python3.1, pyqt4

для многопоточности использую
from concurrent.futures import ThreadPoolExecutor

изначально запускается пара десятков потоков
каждый из них начинает выполнять простые действия - скачивать веб-странички и сохранять их в файл
+ дергать слот, который обновляет ГУИ, выводя инфу о прогрессе

проблема в том, что если поставить к примеру 12 потоков и каждому сказать скачать 20 страниц, то работа встает колом примерно после завершения 8 потоков. 8 потоков сделали своё дело, просмотрели 160 страниц и процесс остановился. ничего не выводится в лог, прогрессбар стоит на месте, программа при этом не зависает.

уменьшаю кол-во просмотров до 5 - и все работает нормально.

сначала думал что может быть надо как-то блочить слот, пока он не обновит ГУИ, но потом сделал сохранение в файлы и кол-во файлов тоже говорит о том, что свою работу выполнили только 8 потоков.

в питоне есть какой-то лимит памяти или времени на выполнение? подскажите пожалуйста, в каком направлении копать и как узнать, почему процессы остановились
Soteric
Логировать процесс работы потока. Вошел в метод, вышел из метода. Смотреть на чем прекращается работа.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB