feat(api): POST /admin/scrape/poi-sync — manual OSM POI sync trigger

This commit is contained in:
lekss361 2026-05-11 18:12:37 +03:00
parent a4e8fff5ac
commit f81bd710c0

View file

@ -367,6 +367,23 @@ def list_logs(
# ── Objective ETL (Антоновский SQLite → PG) ─────────────────────────────────
@router.post("/poi-sync")
def trigger_poi_sync(
x_admin_token: Annotated[str | None, Header(alias="X-Admin-Token")] = None,
) -> dict[str, Any]:
"""Manual trigger для синхронизации OSM POI ЕКБ из Overpass API.
Обычно запускается еженедельно через beat (понед 3:00 МСК).
Этот endpoint для ad-hoc запуска (например после первого деплоя
или при создании нового тестового участка).
"""
_check_token(x_admin_token)
from app.workers.tasks.poi_sync import sync_osm_poi_ekb
result = sync_osm_poi_ekb.apply_async()
return {"task_id": result.id, "queued_at": "now"}
class TriggerObjectiveEtlRequest(BaseModel):
sqlite_path: str | None = Field(
default=None,