fix(tradein/domclick): свип ходит через прокси-пул, а отказ узла не обнуляет прогон (#2657) #2796

Merged
bot-backend merged 1 commit from fix/2657-domclick-proxy-pool into main 2026-08-09 17:21:50 +00:00

1 commit

Author SHA1 Message Date
6d051d17af fix(tradein/domclick): свип ходит через прокси-пул, а отказ узла не обнуляет прогон (#2657)
All checks were successful
CI Trade-In / changes (pull_request) Successful in 9s
CI / changes (pull_request) Successful in 9s
CI Trade-In / browser-tests (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
CI Trade-In / backend-tests (pull_request) Successful in 3m54s
Прод 06-09.08: domclick_city_sweep четыре прогона подряд `failed` с buckets=0/6,
lots=0. Не QRATOR и не куки — два сложившихся дефекта:

1. Домклик был ЕДИНСТВЕННЫМ sweep-источником без proxy_provider (#2160 P4):
   _job_domclick_city_sweep не передавал ctx.proxy_provider, поэтому
   build_browser_fetcher строил фетчер без пула и сайдкар шёл через статический
   SCRAPER_PROXY_URL. Этот адрес (scrape_proxies.id=1, residential,
   provider_affinity='domclick') отдаёт NS_ERROR_PROXY_BAD_GATEWAY именно на
   bff-search-web.domclick.ru. Живая проверка 09.08 через прод-сайдкар: тот же
   URL через id=1 → 500, через мобильный узел пула id=10 → 200 и
   snippetsCount=678 в бакете 'st'. Предпосылка миграции 173 («QRATOR банит все
   узлы кроме этого residential») опровергнута.

2. Транспортная ошибка убивала весь свип на первом бакете: fetch_city ловил
   только ValueError/TypeError (ошибки разбора), httpx.HTTPStatusError от
   сайдкара пролетал наружу мимо цикла по ROOM_BUCKETS. Это же не давало
   сработать ротации lease после N подряд провалов — до неё не доживали.

Побочно: fetcher.report_ban при QRATOR-блоке перестаёт быть пустышкой — с
подключённым пулом узел уходит в scrape_proxy_source_bans.

Фальсификация: 3 новых теста красные на старом коде (TypeError на
proxy_provider, HTTPStatusError наружу).

Refs #2657
2026-08-09 22:08:50 +05:00