Повтор упавших страниц
Повтор только упавших адресов
Обход большого сайта не всегда проходит гладко: часть адресов может ответить с ошибкой или не открыться с первого раза.
Что происходит при ошибке
Упавший адрес возвращается в очередь
Когда страница не открылась, missionOsReplay ставит в очередь заново именно её адрес, а не запускает обход всего сайта сначала. Список успешно пройденных страниц при этом не трогается.
Сколько попыток
Не больше двух повторов, пауза растёт
Каждый упавший адрес получает не больше двух повторных попыток, а пауза перед следующей растёт с каждым разом и доходит до 60 секунд. Так программа не долбит сайт, который и так отвечает с перебоями.
Граница
Третья неудача — адрес остаётся в списке ошибок
После второй неудачной попытки адрес больше не повторяется сам: он остаётся в списке ошибок обхода, и решение, пробовать ли ещё раз, — за вами. Про весь обход целиком — глубокий обход.
Как это делается
Повторяются не любые сбои подряд
В очередь на повтор попадает не каждая ошибка — только та, что похожа на временный сбой сети: таймаут, обрыв соединения, ответ 429 или пятисотые коды. Ошибка вроде «страницы не существует» повтора не получает и сразу уходит в список неудачных — гонять по кругу адрес, который в принципе не откроется, смысла нет. Счётчик неудачных попыток привязан к самому адресу: если он уже не открылся один раз, следующая попытка это помнит и не начинает отсчёт заново.
Где граница
Капча и вход на сайт останавливают весь обход
Заметив капчу, требование входа или отметку про слишком частые запросы, программа не считает страницу просто неудачной. Весь обход встаёт на паузу целиком, а нетронутый адрес возвращается в начало очереди — ждать, пока человек не решит это сам. Причина паузы не теряется: панель показывает её словами — «требуется капча» или «нужен вход», а не просто «остановлено», чтобы было понятно, что делать дальше.
Запустите обход и получите список только рабочих страниц
Упавшие адреса видны отдельным списком, без потери уже собранного.