docs(tradein): снять устаревшее обоснование обрыва прогона Домклика
All checks were successful
CI / changes (pull_request) Successful in 9s
CI Trade-In / changes (pull_request) Successful in 8s
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 4m18s

Докстринг domclick_detail_backfill утверждал: «No IP-rotation/cooldown recovery
step exists here (DomClick uses one dedicated residential proxy, not a rotating
pool)». Второе перестало быть правдой на миграции 253 (#2800), снявшей
резервацию узла: на 13.08 узлов четыре и у всех provider_affinity='any'.

Разница не косметическая. Пока узел был один, «ротации нет» СЛЕДОВАЛО из
«ротировать нечего» — обрыв прогона на первом блоке был вынужденным. Теперь
это непринятое решение, и обоснование, пережившее свою предпосылку, читается
как довод не менять поведение.

Цена измерена в #2854: buckets_completed=0 во ВСЕХ прогонах свипа, то есть
шесть комнатных корзин не доводятся никогда, а блок бьёт внутри первой.
Длительность до блока 111-332 с при примерно постоянной выработке — свежий
узел, вероятно, получает свой бюджет.

Заодно: шапка 260_houses_drop_has_panorama.sql называла себя 259_ — след
вчерашнего переименования при коллизии номеров (два PR взяли 259; имя файла,
ссылку в тесте и манифест поправил, комментарий внутри пропустил). Отслеживание
идёт по filename (_schema_migrations, без контрольной суммы), правка безопасна.

Refs #2854, #2800
This commit is contained in:
bot-backend 2026-08-13 12:28:23 +05:00
parent 05d2126c5a
commit 062eee9b16
2 changed files with 13 additions and 6 deletions

View file

@ -17,8 +17,9 @@ Both are wired together in the debug endpoint `POST /scrape/domclick/debug/detai
wiring into the production scheduled orchestrator (previously only reachable manually).
Solution: single snapshot SELECT at start (guarantees termination) + one BrowserFetcher
per run (async context manager, source="domclick" -- dedicated residential proxy pool,
see 173_scrape_proxies_add_domclick_affinity.sql) + cookies loaded ONCE via
per run (async context manager, source="domclick" -- узел берётся из ОБЩЕГО пула;
выделенного узла у Домклика больше нет, резервацию сняла миграция 253 (#2800),
на 13.08 все четыре узла имеют provider_affinity='any') + cookies loaded ONCE via
domclick_session.load_session(db) and threaded into every fetch_detail() call.
NAMING TRAP (verified live against prod DB 2026-07-04, do NOT "fix" this anywhere):
@ -40,9 +41,15 @@ Exception triad differs from Avito:
Статус такого прогона 'banned' (#2674, см. runs.mark_backfill_finished):
блок это external constraint, не наш баг, но и НЕ успех раньше здесь стоял
mark_done, и 24 из 30 прогонов с нулём обогащений назывались успешными.
No IP-rotation/cooldown recovery step exists here
(DomClick uses one dedicated residential proxy, not a rotating pool) -- an
aborted run simply retries the remaining backlog next window.
No IP-rotation/cooldown recovery step exists here -- an aborted run simply
retries the remaining backlog next window.
УСТАРЕВШЕЕ ОБОСНОВАНИЕ, снято 13.08: здесь стояло «DomClick uses one dedicated
residential proxy, not a rotating pool». Это перестало быть правдой на миграции
253 (#2800), снявшей резервацию узла; сегодня узлов четыре и все общие. То есть
отсутствие ротации больше НЕ следует из «ротировать нечего» это просто
непринятое решение. Разбор цены и рисков: #2854 (блок бьёт внутри первой
комнатной корзины, buckets_completed=0 во ВСЕХ прогонах; свежий узел, судя по
длительности до блока 111-332 с, получает свой бюджет).
ОГРАНИЧЕНИЕ (#2764): диагноз scrape_runs.ban_kind этот прогон НЕ передаёт и
получает 'unknown'. Один и тот же DomClickBlockedError поднимается и на
распознанном QRATOR-маркере (площадка), и на любом сбое браузерного fetch

View file

@ -1,4 +1,4 @@
-- 259_houses_drop_has_panorama.sql
-- 260_houses_drop_has_panorama.sql
-- Issue #2674 (хвост) — снос houses.has_panorama: признака НЕТ в предметной области.
--
-- Dependencies: 031_houses_alter_yandex.sql (завела колонку),