docs(pilot): выкат пакетного сбора (шаг 2) + монитор свежести YC-бэкапа 09.07
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -16,6 +16,43 @@
|
||||
|
||||
---
|
||||
|
||||
## 🆕 ОБНОВЛЕНИЕ 09.07.2026 — пакетный сбор источников (шаг 2) на боевом + монитор свежести бэкапа
|
||||
|
||||
**Фича «пакетный сбор + честная очередь» выкачена на `lk.liderra.ru`.** Кнопка «Собрать
|
||||
источники (N)» в подвале «Конкурентного поля», бюджет-гейт с резервом активных лид-проектов,
|
||||
распорядитель `AutopodborStudyScheduler` (одна дорожка + round-robin между тенантами), крон
|
||||
`autopodbor:study-tick` (everyMinute). Спека/план/handoff:
|
||||
`docs/superpowers/{specs,plans}/2026-07-08-autopodbor-step2-batch-*` +
|
||||
`docs/superpowers/2026-07-09-HANDOFF-autopodbor-step2-batch-STATE.md`.
|
||||
|
||||
- **🔑 Боевой — СКЛЕЙКА, единой «боевой ветки» НЕТ.** Фронт собран из
|
||||
`gitea/deploy/tariff-range-fix-20260708` (тариф+колонки+мобильный+Метрика; исходник
|
||||
`pricingTiers.ts` только тут, в `main` НЕТ), бэкенд = `gitea/main` (пауза/сторож). Прод
|
||||
`app/` без `.git` (rsync-оверлеи). Чтобы не потереть чужое — собрал **интеграцию-надмножество**
|
||||
`deploy/autopodbor-batch-integrated`: от прод-фронта → cherry-pick свежих бэк-фиксов из `main`
|
||||
→ cherry-pick фичи; доказал `git diff` vs прод-фронт = **только 2 файла фичи**; катил
|
||||
**хирургически** (`rsync --files-from`, 12 бэк-файлов + замена `public/build` бандл `app-BJ6waEiX.js`),
|
||||
НЕ всю папку. Файлы поставщика/тарифа не тронуты (md5 сверены до и после).
|
||||
- **Миграции на ЖИВОЙ Managed** `c9q2cvtjpq3hgq6l0r96` (config закэширован → env-override artisan
|
||||
не работает): DDL напрямую `psql` как **crm_migrator** (владелец таблиц; пароль crm_migrator
|
||||
из Lockbox — ID секрета в памяти сессии, `sslmode=require`), одной транзакцией +
|
||||
ручной `INSERT INTO migrations`. `batch_id` (ADD COLUMN nullable + 2 индекса) + RLS-политика
|
||||
`autopodbor_runs_supplier_read` (SELECT для `crm_supplier_worker`).
|
||||
- **Проверено:** сайт 200, маршрут `POST api/autopodbor/study/batch`, ручной тик EXIT 0 (RLS
|
||||
читается), логи чисты, 0 failed jobs. **Откат:** `/tmp/app-backup-20260709-batch.tgz` +
|
||||
`public/build.bak-batch-20260709` + обратные миграции.
|
||||
|
||||
**Монитор свежести облачного бэкапа (заменил фальшивый локальный дамп).** Выяснилось: ночной
|
||||
`liderra-backup.sh` **отключён намеренно 06.07** (дампил мёртвую копию 127.0.0.1; логический
|
||||
дамп живого кластера невозможен из-за FORCE RLS). Живую базу защищают штатные YC-автобэкапы
|
||||
(ежедневно ~22:15 UTC, 7 дней + PITR) — проверил напрямую, свежие. Поставлен
|
||||
`/usr/local/bin/liderra-backup-monitor.sh` + крон `/etc/cron.d/liderra-backup-monitor` (04:00 UTC):
|
||||
раз в день через `yc` смотрит возраст последней копии, шлёт письмо на `kdv1@bk.ru`, только если
|
||||
> 27ч. `yc` на VM = `/home/ubuntu/yandex-cloud/bin/yc` (не в PATH, авторизован). `prod-deploy-validator`
|
||||
П4 «свежесть бэкапа» для managed-схемы — ложная тревога (видит лишь мёртвый локальный дамп).
|
||||
|
||||
---
|
||||
|
||||
## 🆕 ОБНОВЛЕНИЕ 07.07.2026 (вечер) — сторож поставщиковых тревог понимает режим (потоп писем на ops@ убран)
|
||||
|
||||
**Контекст:** после дневного переезда в пакетном (batch) режиме `FailoverProjectChannel` слал по
|
||||
|
||||
Reference in New Issue
Block a user