docs(tradein/scraper): 42 прогона, а не 52 — в замере считались пары «прогон × фаза» (#2700)
All checks were successful
CI Trade-In / changes (pull_request) Successful in 8s
CI Trade-In / browser-tests (pull_request) Has been skipped
CI / backend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
CI / changes (pull_request) Successful in 8s
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI Trade-In / backend-tests (pull_request) Successful in 3m54s

Проверка деплойнутой функции по боевым counters (3 574 прогона за 90 суток): под
правило попадают 42 прогона из 3 293 'done', а не 52. Разница — 10 прогонов, у
которых отказали ОБЕ фазы (detail и houses), в SQL-замере они посчитались дважды.

Refs #2700
This commit is contained in:
bot-backend 2026-08-10 16:38:19 +05:00
parent 20ec6a5d33
commit 1a30d6074e
2 changed files with 12 additions and 8 deletions

View file

@ -256,10 +256,12 @@ def _phase_totally_failed(counters: Mapping[str, Any]) -> str | None:
Что признак НЕ доказывает: КТО виноват (площадка, наш прокси, наш парсер) поэтому
'failed' без диагноза, как и в #2625/#2764, а не 'banned'/'platform'.
Замер на проде 2026-08-10 за 90 суток: правило переводит в 'failed' 52 прогона из
3 292 'done' (1.6%) 33 cian_city_sweep* (detail 26, houses 15 часть прогонов
попадает по обеим фазам) и 11 avito_city_sweep* (detail; про эти никто не знал).
Остальные 3 240 остаются 'done'.
Замер на проде 2026-08-10 за 90 суток, ПРОГНАННЫЙ УЖЕ ДЕПЛОЙНУТОЙ функцией по
боевым counters (3 574 прогона, из них 3 293 'done'): правило переводит в 'failed'
42 прогона (1.3%) 31 cian_city_sweep* и 11 avito_city_sweep*; про вторые никто не
знал. Остальные 3 251 остаются 'done'. Первая версия этого абзаца называла 52
это было число ПАР «прогон × фаза» из SQL-замера, а не прогонов: у 10 прогонов
отказали обе фазы (detail и houses) сразу, и они посчитались дважды.
"""
for key in sorted(counters):
if not key.endswith("_attempted"):

View file

@ -251,10 +251,12 @@ def _phase_totally_failed(counters: Mapping[str, Any]) -> str | None:
Что признак НЕ доказывает: КТО виноват (площадка, наш прокси, наш парсер) поэтому
'failed' без диагноза, как и в #2625/#2764, а не 'banned'/'platform'.
Замер на проде 2026-08-10 за 90 суток: правило переводит в 'failed' 52 прогона из
3 292 'done' (1.6%) 33 cian_city_sweep* (detail 26, houses 15 часть прогонов
попадает по обеим фазам) и 11 avito_city_sweep* (detail; про эти никто не знал).
Остальные 3 240 остаются 'done'.
Замер на проде 2026-08-10 за 90 суток, ПРОГНАННЫЙ УЖЕ ДЕПЛОЙНУТОЙ функцией по
боевым counters (3 574 прогона, из них 3 293 'done'): правило переводит в 'failed'
42 прогона (1.3%) 31 cian_city_sweep* и 11 avito_city_sweep*; про вторые никто не
знал. Остальные 3 251 остаются 'done'. Первая версия этого абзаца называла 52
это было число ПАР «прогон × фаза» из SQL-замера, а не прогонов: у 10 прогонов
отказали обе фазы (detail и houses) сразу, и они посчитались дважды.
"""
for key in sorted(counters):
if not key.endswith("_attempted"):