@agent_2203

Почему возникает ошибка error: [Errno 24] Too many open files при requests.get?

Есть код

try:
    get("https://google.com", proxies={
        "http": "http://" + proxy_list[proxy_id], 
        "https": "https://" + proxy_list[proxy_id]
    })
except Exception as e:
    print(f"Ошибка: {e}")


Его отрабатывают около 10 потоков друг за другом через semaphore каждую секунду, первое время все отлично, но потом возникает следующая ошибка: [('system library', 'fopen', 'Too many open files'), ('BIO routines', 'BIO_new_file', 'system lib'), ('x509 certificate routines', 'X509_load_cert_crl_file', 'system lib')
Кто-нибудь знает как это исправить ? Либо подскажите как можно проверять прокси бещ запроса, я пробовал другие варианты, но они по сравнению с этим, очень медленные
  • Вопрос задан
  • 331 просмотр
Пригласить эксперта
Ответы на вопрос 1
Vindicar
@Vindicar
RTFM!
Вообще ошибка редкая.
Превышен лимит на число открытых файлов для процесса - это весьма вероятно число открытых сокетов тоже (сокет ~ файл во многих осях).
Убедись, что закрываешь соединение корректно, и убавь количество запросов в секунду.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы