From 56ddf98be47d8a1cf1436b7420f3f2fb2afb2f85 Mon Sep 17 00:00:00 2001 From: bot-backend Date: Mon, 13 Jul 2026 01:09:50 +0300 Subject: [PATCH] fix(tradein/scheduler): re-enable deactivate_stale_domklik now that domclick sweeps run Migration 163 disabled the TTL deactivation 'until domclick sweeps resume'. The sweeps (domclick_city_sweep + domclick_detail_backfill) are running daily again and keep scraped_at fresh, so the disable condition no longer holds. Re-enable is safe: the job keys on scraped_at (not listing_date), so with live sweeps only genuinely stale rows fall outside the 14d TTL. Fixes overstated domklik freshness. LOW audit R2 (#10). --- .../183_reenable_deactivate_stale_domklik.sql | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 tradein-mvp/backend/data/sql/183_reenable_deactivate_stale_domklik.sql diff --git a/tradein-mvp/backend/data/sql/183_reenable_deactivate_stale_domklik.sql b/tradein-mvp/backend/data/sql/183_reenable_deactivate_stale_domklik.sql new file mode 100644 index 00000000..42530efa --- /dev/null +++ b/tradein-mvp/backend/data/sql/183_reenable_deactivate_stale_domklik.sql @@ -0,0 +1,28 @@ +-- 183_reenable_deactivate_stale_domklik.sql +-- +-- ПРОДУКТОВОЕ РЕШЕНИЕ (user, 2026-07-13): ВКЛЮЧАЕМ обратно TTL-деактивацию +-- deactivate_stale_domklik (была отключена миграцией 163 «до возобновления +-- регулярных domclick-свипов»). +-- +-- Условие из 163 снято: свипы domclick_city_sweep + domclick_detail_backfill +-- возобновлены и стабильно бегают ежедневно (scraped_at свежий, диапазон +-- последней недели), т.е. причина отключения больше не действует. +-- +-- Безопасность re-enable (LOW audit R2 #10): +-- • Джоб ключуется на scraped_at (whitelist last_seen_at/scraped_at в +-- deactivate_stale_avito.py::_ALLOWED_STALENESS_COLUMNS), НЕ на listing_date — +-- исходная гипотеза «выпадет весь domklik по NULL listing_date» неприменима. +-- • При живых свипах scraped_at < NOW()-14d только у реально протухших строк, +-- а не у всего пула (в отличие от ситуации 163, где свипы стояли) — +-- деактивация корректна, а не тотальна. Чинит завышенный freshness domklik. +-- +-- Идемпотентно: повторный прогон — no-op (enabled уже true). Row создаётся +-- миграцией 160; если отсутствует — UPDATE затронет 0 строк (безопасно). + +BEGIN; + +UPDATE scrape_schedules + SET enabled = true + WHERE source = 'deactivate_stale_domklik'; + +COMMIT; -- 2.45.3