gendesign/backend
lekss361 13d07a94c7 feat(22d): catalog scraper — skip-today filter + force flag (admin "Загрузить все")
Was: 30-day staleness window (catalog_scraped_at < NOW() - INTERVAL '30 days')
Now: skip только если catalog_scraped_at = сегодня; новые (NULL) и вчерашние
грузим всегда. Admin endpoint и beat task получили `force: bool = False` —
True игнорирует skip и грузит все объекты последнего snapshot (кнопка
"Загрузить все").

- SQL: WHERE (CAST(:force AS boolean) OR catalog_scraped_at IS NULL
       OR DATE(catalog_scraped_at) < CURRENT_DATE)
- Task signature: scrape_kn_catalog_objects(region_code, max_objects, force)
- Admin POST /admin/scrape/kn-catalog-objects payload: + force: bool
- Tests: 5 новых (skip-today active, force passthrough, max_objects,
  rows processed, SQL contains skip-today predicate)

Зачем: full sweep на 1532 obj — ~50 мин/run. До сих пор повторный запуск
после партиала всё равно проходил тот же batch — нет признака "уже
обновлено сегодня". Кнопка "Загрузить все" остаётся для force-pass всего
региона (например после schema change).
2026-05-18 02:11:47 +03:00
..
alembic ops: alembic baseline, pre-commit, TIGER cleanup, pg_dump scripts 2026-04-26 13:08:51 +03:00
app feat(22d): catalog scraper — skip-today filter + force flag (admin "Загрузить все") 2026-05-18 02:11:47 +03:00
db/init ops: alembic baseline, pre-commit, TIGER cleanup, pg_dump scripts 2026-04-26 13:08:51 +03:00
output feat(geo): NSPD bulk-fetcher без Playwright + resume-friendly UI 2026-05-11 08:53:28 +03:00
tests feat(22d): catalog scraper — skip-today filter + force flag (admin "Загрузить все") 2026-05-18 02:11:47 +03:00
.dockerignore fix(scraper): диагностируем «кнопка не работает» — Redis lock + task_received log 2026-04-28 23:17:42 +03:00
.env.example feat(backend): sentry-sdk init для FastAPI + Celery (#204 backend) (#207) 2026-05-16 15:09:16 +00:00
.env.runtime.example sprint1: nspd scraper industrialization, per-bucket elasticity, cadastre cross-check, sentry releases 2026-04-30 21:51:19 +03:00
alembic.ini ops: alembic baseline, pre-commit, TIGER cleanup, pg_dump scripts 2026-04-26 13:08:51 +03:00
debug.log feat(geo): NSPD bulk-fetcher без Playwright + resume-friendly UI 2026-05-11 08:53:28 +03:00
Dockerfile fix(scraper): диагностируем «кнопка не работает» — Redis lock + task_received log 2026-04-28 23:17:42 +03:00
pyproject.toml feat(sf-b7): GET /parcels/{cad}/snapshot.pdf — 1-page WeasyPrint export (#334) 2026-05-17 21:11:03 +00:00
uv.lock feat(sf-b7): GET /parcels/{cad}/snapshot.pdf — 1-page WeasyPrint export (#334) 2026-05-17 21:11:03 +00:00