Стандартная requests за прокси берет объект такой структуры`{http: '
123.123.43.43:1234', https: '
123.123.43.43:1234'}`. Т.е. не списком. Приходится сначала выбрать прокси, а потом (грубо говоря) его один засунуть в эту структуру.
Чтобы функции в потоках не парились с прокси, я им подаю самописный объект "Requester". Запросы в потоках совершаются "requester.get(method, url, json...)".
requester, если запрос завершился но статус не 200, повторяет запрос, подставляя следующий прокси используя генератор
new_proxy = next(proxy_generator)
- это слабое место.
И вижу собственно только 2 варианта:
- обернуть получение нового прокси в Lock
- либо делать очередь нормальную
первый вариант быстрее. просто хз какой из локов брать