Вернуть домклик-свипы Москвы и области #3594

Merged
lekss361 merged 1 commit from feat/domclick-msk-reenable into main 2026-09-17 14:03:01 +00:00

1 commit

Author SHA1 Message Date
bot-backend
f1bad53de7 feat(trade-in): вернуть домклик-свипы Москвы и области
All checks were successful
CI Trade-In / changes (pull_request) Successful in 24s
CI Trade-In / browser-tests (pull_request) Has been skipped
CI / changes (pull_request) Successful in 26s
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 5m19s
Миграция 308 выключила их потому, что свип копил лоты в памяти и сохранял одним
save_listings после всех шести корзин: снятие по watchdog теряло всё собранное, а
чекпоинт при этом помечал корзины пройденными. На выдаче размером с Москву
(около 23 690 лотов вторички против 6 300 у ЕКБ) снятие было гарантировано, и
итоговый сбор равнялся нулю навсегда.

PR #3592 это снял: save_listings зовётся из колбэка on_bucket после каждой
успешной корзины, туда же переехал чекпоинт, и корзина без сохранённых строк в
него не попадает.

interval_days = 1 вместо 3: полный проход Москвы в одно окно watchdog'а
по-прежнему не помещается (замер run 7344 — 2 корзины из 6 за два часа). Добор
идёт ротацией стартовой корзины плюс skip_buckets из чекпоинта, и при суточном
такте шесть корзин закрываются примерно за трое суток против девяти при
трёхсуточном. Корпус живёт 14 суток, девять не оставляли бы запаса на пропуски
из-за QRATOR-банов.

watchdog_sec намеренно не задаётся: override в коде есть, но поднимать таймаут до
замера нечем обосновать — с инкрементальным сохранением ранний снос перестал быть
потерей, а длинный прогон дольше держит один из двух узлов affinity='any'.

Окна не меняются: Москва 0-3, область 9-12, ЕКБ 3-6 — ни одно не содержит двух
домклик-строк.

Проверено сухим прогоном на проде под ROLLBACK: UPDATE 2, обе строки enabled=t с
interval_days=1, ЕКБ-строка не затронута.

Claude-Session: https://claude.ai/code/session_01NQb6WeJtagZwZnUsSjDizs
2026-09-17 16:41:15 +03:00