|
|
8204802d36
|
feat(scrapers): wire N1.ru city sweep — pipeline + scheduler + admin endpoint (#575)
n1.py scraper existed and was wired into the generic point-/scrape endpoint, but
had no city-sweep + schedule entry. Mirror the yandex sweep (N1 is a simple
regional SERP — search → save, no houses/detail enrich):
- scrape_pipeline.run_n1_city_sweep + N1CitySweepCounters (anchors × pages →
save_listings; cooperative cancel; abort after N consecutive anchor failures).
- scheduler.trigger_n1_city_sweep_run + dispatch (source='n1_city_sweep').
- data/sql/084: scrape_schedules seed, enabled=true (vs dormant avito/yandex) —
#575 activates N1 as a source; one-line UPDATE to disable if it blocks.
- POST /api/v1/admin/scrape/n1 (+ /scrape/n1/runs) for on-demand city-sweep.
estimator.sources_used is derived from {lot.source} — 'n1' flows in automatically
once n1 listings exist (no estimator change).
Tests: test_n1_city_sweep.py (5) — aggregate, run_id threading, empty-page stop,
mid-sweep cancel, consecutive-failure abort. ruff clean; 32 scheduler/sweep
regression tests pass.
Refs #575
|
2026-05-30 18:39:36 +03:00 |
|
|
|
a060651328
|
feat(tradein): daily asking→sold ratio refresh (#648 S4) (#663)
Deploy Trade-In / build-backend (push) Successful in 45s
Deploy Trade-In / changes (push) Successful in 5s
Deploy Trade-In / build-frontend (push) Has been skipped
Deploy Trade-In / deploy (push) Successful in 35s
|
2026-05-29 13:49:36 +00:00 |
|
|
|
e925a0ba6a
|
feat(tradein): per-source listing price history — schema + daily snapshot (#570) (#646)
Deploy Trade-In / changes (push) Successful in 6s
Deploy Trade-In / build-frontend (push) Has been skipped
Deploy Trade-In / build-backend (push) Successful in 45s
Deploy Trade-In / deploy (push) Successful in 35s
|
2026-05-29 12:18:04 +00:00 |
|
|
|
7ec19b3536
|
feat(scheduler): dormant Yandex Realty city-sweep (#561) (#642)
Deploy Trade-In / changes (push) Successful in 5s
Deploy Trade-In / build-frontend (push) Has been skipped
Deploy Trade-In / build-backend (push) Successful in 43s
Deploy Trade-In / deploy (push) Successful in 33s
|
2026-05-29 08:50:10 +00:00 |
|
|
|
b6cddcd9a8
|
fix(tradein): plain natural-key dedup_hash for rosreestr deals (#576) (#638)
Deploy Trade-In / changes (push) Successful in 5s
Deploy Trade-In / build-frontend (push) Successful in 25s
Deploy Trade-In / build-backend (push) Successful in 45s
Deploy Trade-In / deploy (push) Successful in 37s
|
2026-05-29 06:56:35 +00:00 |
|
|
|
e72cf87e35
|
feat(tradein): автоматизация cian-backfill + rosreestr-import через scheduler (#560 #563) (#630)
Deploy Trade-In / changes (push) Successful in 5s
Deploy / changes (push) Successful in 6s
Deploy Trade-In / build-frontend (push) Has been skipped
Deploy / build-frontend (push) Has been skipped
Deploy / build-backend (push) Successful in 29s
Deploy / build-worker (push) Successful in 30s
Deploy Trade-In / build-backend (push) Successful in 47s
Deploy Trade-In / deploy (push) Successful in 43s
Deploy / deploy (push) Successful in 58s
|
2026-05-28 15:31:24 +00:00 |
|
|
|
0202720096
|
feat(tradein): in-app scheduler — UI-managed schedule (replaces SSH crontab) (#482)
Deploy Trade-In / changes (push) Successful in 5s
Deploy Trade-In / build-frontend (push) Has been skipped
Deploy Trade-In / build-backend (push) Successful in 36s
Deploy Trade-In / deploy (push) Has been cancelled
|
2026-05-23 14:54:25 +00:00 |
|