- New poi_loader.py: Overpass QL query for 13 POI categories in EKB bbox, UPSERT into osm_poi_ekb with soft 2-year filter tracking (skipped_old counter) - New poi_sync.py Celery task wrapping sync_poi_to_db() - celery_app.py: include poi_sync module, add poi-sync-weekly beat entry (Mon 03:00 MSK)
20 lines
660 B
Python
20 lines
660 B
Python
"""Celery task: еженедельная синхронизация OSM POI для site-finder."""
|
||
|
||
import logging
|
||
|
||
from app.workers.celery_app import celery_app
|
||
|
||
logger = logging.getLogger(__name__)
|
||
|
||
|
||
@celery_app.task(name="tasks.poi_sync.sync_osm_poi_ekb", queue="celery")
|
||
def sync_osm_poi_ekb() -> dict:
|
||
"""Еженедельная синхронизация OSM POI из Overpass API в osm_poi_ekb.
|
||
|
||
Запускается через beat (понедельник 03:00 МСК).
|
||
"""
|
||
from app.services.site_finder.poi_loader import sync_poi_to_db
|
||
|
||
result = sync_poi_to_db()
|
||
logger.info("POI sync done: %s", result)
|
||
return result
|