Запрете јамка на ротација на прокси што работи засекогаш
Дајте му на Python базенот на прокси конечен буџет за обиди и разликувајте ги грешките во врската од одговорите на одредиштето.
Базенот на прокси може да го претвори едноставниот прекин во зафатена јамка. Изберете адреса, не успева, изберете друга, повторно не успева. Ако секоја крајна точка е недостапна затоа што вашата сопствена мрежа е падната, менувањето адреси никогаш не ја отстранува причината.
Дајте му буџет на дејството пред да го изберете првото прокси од вашиот базен или списокот на бесплатни прокси: конечен број обиди, ограничени чекања за врска и читање и краен рок за целата задача. Requests таймаутот го контролира неговото документирано однесување на врска или читање; тој сам по себе не ограничува јамка што продолжува да испраќа нови барања.
Одлучете што заслужува уште еден обид
- Одбиената прокси врска може да оправда обид со друга крајна точка.
- Одговорот на одредиштето бара сопствено толкување. Добивањето HTTP грешка докажува дека некоја патека на барање е завршена.
- Неуспехот при автентикација на прокси бара проверка на крајната точка и сметката, наместо удирање со истите акредитиви низ растечки список.
Чувајте оригиналниот исклучок или статус заедно со записот за обидот. Завршната порака што содржи само „сите прокси не успеаја“ крие дали грешките воопшто имале иста причина.
Проверката на здравствената состојба на секое прокси пред секое вистинско барање додава уште едно барање и сè уште не може да гарантира дека следното ќе успее. Повторно искористете неодамнешни информации за здравствената состојба каде што одговараат на задачата, потоа оставете го вистинското дејство да го пријави својот резултат.
Повторен обид може да ја повтори работата
При преземање само за читање, преминот на друго прокси обично е поедноставен отколку повторното пуштање на поднесување. Ако врската падне по испраќање на купување или поднесување на формулар, одредиштето можеби веќе го обработило. Следете го механизмот за идемпотентност на услугата и правилата за повторни обиди на HTTP пред повторно да ја пуштите работата.
Кога буџетот ќе се потроши, вратете корисна грешка. Работа што запира со докази е полесно да се поправи отколку онаа што тивко продолжува да ротира додека некој не забележи.