fix(tradein/scraper): сводка «что сейчас не собирает» — лестница вех не видит стрик 0 (#2670) #2806

Merged
bot-backend merged 1 commit from fix/2670-stale-digest into main 2026-08-10 08:29:27 +00:00

1 commit

Author SHA1 Message Date
a8a2163472 fix(tradein/scraper): сводка «что сейчас не собирает» — лестница вех не видит стрик 0 (#2670)
All checks were successful
CI Trade-In / changes (pull_request) Successful in 8s
CI / 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 3m50s
#2720 вылечил «алерт ровно один раз за серию» (вехи 3, 6, 12, 24, 48…), но лестница
шагает по подряд идущим завершённым failed/banned прогонам. Прод 2026-08-10: шесть
источников не собирали дольше 3× своего такта, и трое худших лестнице недоступны —
причём лишь один из трёх из-за редких вех:

  cian_history_backfill       42.1 сут, стрик 0  — прогонов нет с 30.06 вовсе
  avito_full_load_exhaustive  49.5 сут, стрик 0  — 5 банов обнулил 'cancelled' 09.08
  avito_full_load             37.7 сут, стрик 31 — веха 48 при interval_days=7 → 119 сут

Уплотнение вех чинит только третью строку: у первых двух стрик равен нулю, уплотнять
нечего. Поэтому добавлена сводка, считающая КАЛЕНДАРНЫЙ возраст последнего успешного
прогона по scrape_schedules: раз в сутки одно событие со списком источников, у которых
он старше 3× их такта. Просрочка меряется в тактах, а не в сутках — 24 сут без сбора у
28-суточного rosreestr_quarter_poll норма, а у суточного domclick_city_sweep авария.

Лестница не тронута: она отвечает на другой вопрос («что сломалось только что»).

Заодно: шапка модуля утверждала, что прод крутит legacy app.services.scheduler. Эта
ветка удалена в #2397 Part C — строка пережила собственную правду и посылала правку
сторожей не в тот файл.
2026-08-10 13:17:45 +05:00