Еще через асинхроннку можно. Чтобы поток перебирал потоки: спрашивал, занят ли поток-исполнитель и давал ему задачу и прокси. Ну и чтобы руководящий поток ждал ответа - успех не успех. И в соответствии с этим дальше поступал.
Ну и чтобы рандомно выбирал из числа потоков-исполнителей к кому обратиться, если это важно.
@fastspace Супер!!! Тоже сделал подобную проверку... Пять раз, с перерывом в пять секунд на одном и том же прокси пытается загрузиться страница ya. ru. Если нет, то текущий прокси под удаление и поток заново начинается соответственно с другим прокси, если страница загрузилась и нужный элемент найден - сразу продолжаем выполнение скрипта с хорошим прокси.
Бесплатный не разгадывает,а платный модуль еще не готов.Есть обычный XEvil и дополнительный модуль для рекапчи,но он за отдельную плату.Некоторые делали предзаказ,так дешевле было,теперь ждем