concurrent.futures.ThreadPoolExecutor загружает не все данные

#python #multithreading #python-requests #threadpoolexecutor

#python #многопоточность #python-запросы #threadpoolexecutor

Вопрос:

Я использую python threadpoolexecutor для загрузки PDF-файлов, но в нем отсутствуют некоторые данные. Он загружает не все файлы.

Фрагмент моего кода:

 with concurrent.futures.ThreadPoolExecutor() as executor:
    executor.map(download, names)
  

Здесь загрузка — это функция для загрузки данных, а имена — это список всех URL, и я использую requests модуль для отправки запроса.

 def download(name):
    r = requests.get(URL   name, timeout = 15)
    if r.status_code == 200:
        with open(name, "wb") as f:
            f.write(r.content)
        print(name)
  

Комментарии:

1. ваш оператор if, скорее всего, false, если в нем отсутствуют данные

2. @Kenan это не проблема, я тестировал его без использования многопоточности, тогда он получал все

3. хм …. вы пробовали многопроцессорную обработку и получили ту же проблему?

4. Нет, я не пробовал многопроцессорную обработку