Merge pull request 'chore(ops): restore-дрель для базы tradein — она не покрывалась вовсе' (#3141) from chore/3xxx-restore-drill-tradein into main
All checks were successful
Deploy / changes (push) Successful in 9s
Deploy / build-backend (push) Has been skipped
Deploy / deploy (push) Successful in 1m2s
Deploy Infra Host / sync-infra-host (push) Successful in 6s
Deploy / build-worker (push) Has been skipped
Deploy / build-frontend (push) Has been skipped
Deploy / deploy-caddy (push) Has been skipped
Deploy / deploy-status (push) Successful in 2s
Deploy / perimeter-smoke (push) Successful in 11s

This commit is contained in:
lekss361 2026-08-27 12:00:56 +00:00
commit 4f77197f01

View file

@ -49,6 +49,19 @@
# трогает никогда (см. заголовок скрипта).
15 2 1 * * bash -c 'f=$(ls -t /opt/gendesign/backups/gendesign_[0-9]*.sql.gz 2>/dev/null | head -1); if [ -n "$f" ]; then bash /opt/gendesign/ops/restore-drill.sh "$f"; else echo "no gendesign dump found to drill"; exit 1; fi' >> /opt/gendesign/logs/restore-drill.log 2>&1
# Та же дрель для базы tradein — она НЕ покрывалась строкой выше (#2203).
# Строка выше берёт только `gendesign_*`, то есть восстановимость базы
# клиентских оценок автоматически не проверялась вовсе: ни листинги, ни дома,
# ни сами оценки. Замер 27.08: дамп 343 МБ разворачивается за 58 c и сходится
# с боевой базой построчно (houses 10400, listings 109978, deals 108623 —
# расхождения только по строкам, созданным ПОСЛЕ снятия дампа).
#
# Еженедельно, а не раз в месяц: две минуты работы против месяца, в течение
# которого битый дамп остаётся незамеченным. Понедельник 03:00 — после
# монтажной дрели gendesign (02:15 первого числа, ей хватает форы даже когда
# первое выпадает на понедельник) и до ночных бэкапов в 03:30.
0 3 * * 1 bash -c 'f=$(ls -t /opt/gendesign/backups/tradein/tradein-[0-9]*.sql.gz 2>/dev/null | head -1); if [ -n "$f" ]; then bash /opt/gendesign/ops/restore-drill.sh "$f"; else echo "no tradein dump found to drill"; exit 1; fi' >> /opt/gendesign/logs/restore-drill.log 2>&1
# ── Обогащение и геокодирование (ходят в tradein-backend) ───────────────────
0 5 * * * cd /opt/gendesign/tradein-mvp && docker exec tradein-backend python -m scripts.backfill_houses_dadata --limit 100 --priority both >> /opt/gendesign/logs/dadata-backfill.log 2>&1
30 5 * * * cd /opt/gendesign/tradein-mvp && docker exec tradein-backend python -m scripts.geocode_deals_from_houses --limit 50000 >> /opt/gendesign/logs/deals-geocode.log 2>&1