refresh api and tests
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# Роуты запуска задач синхронизации и просмотра истории sync-runs.
|
||||
# Роуты запуска задач и истории sync-run.
|
||||
|
||||
import json
|
||||
|
||||
@@ -11,8 +11,14 @@ from ...core.config import Settings
|
||||
from ..deps import get_persistence
|
||||
from ...storage.db import PersistenceService
|
||||
from ...storage.models import SyncRun
|
||||
from ...worker.celery_app import MOBILEDE_SYNC_QUEUE, celery_app
|
||||
from ...worker.tasks import mobilede_sync_detail_task, mobilede_sync_runtime_segments_task, mobilede_sync_search_task
|
||||
from ...worker.celery_app import celery_app
|
||||
from ...worker.constants import MOBILEDE_SYNC_QUEUE
|
||||
from ...worker.tasks import (
|
||||
mobilede_enrich_images_batch_task,
|
||||
mobilede_sync_detail_task,
|
||||
mobilede_sync_runtime_segments_task,
|
||||
mobilede_sync_search_task,
|
||||
)
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
@@ -38,6 +44,13 @@ class MobileDeSyncDetailRequest(BaseModel):
|
||||
lane: str = "mobile_de_cars"
|
||||
|
||||
|
||||
class MobileDeEnrichImagesRequest(BaseModel):
|
||||
limit: int = 50
|
||||
lane: str = "mobile_de_cars"
|
||||
max_existing_images: int = 1
|
||||
delay_seconds: float = 1.0
|
||||
|
||||
|
||||
class MobileDeRuntimeSegmentsRequest(BaseModel):
|
||||
lane: str = "mobile_de_cars"
|
||||
delay_seconds: float = 0.7
|
||||
@@ -72,6 +85,19 @@ def start_mobilede_sync_detail(body: MobileDeSyncDetailRequest):
|
||||
}
|
||||
|
||||
|
||||
@router.post("/mobilede/tasks/enrich-images")
|
||||
def start_mobilede_enrich_images(body: MobileDeEnrichImagesRequest):
|
||||
result = mobilede_enrich_images_batch_task.apply_async(
|
||||
kwargs=body.model_dump(),
|
||||
queue=MOBILEDE_SYNC_QUEUE,
|
||||
)
|
||||
return {
|
||||
"task_id": result.id,
|
||||
"status": "queued",
|
||||
"queue": MOBILEDE_SYNC_QUEUE,
|
||||
}
|
||||
|
||||
|
||||
@router.post("/mobilede/tasks/sync-runtime-segments")
|
||||
def start_mobilede_runtime_segments(body: MobileDeRuntimeSegmentsRequest):
|
||||
result = mobilede_sync_runtime_segments_task.apply_async(
|
||||
@@ -141,7 +167,7 @@ def list_sync_runs(
|
||||
per_page: int = Query(20, ge=1, le=100),
|
||||
persistence: PersistenceService = Depends(get_persistence),
|
||||
):
|
||||
# История запусков синхронизации
|
||||
# История запусков.
|
||||
with persistence.session_scope() as session:
|
||||
total = session.execute(select(func.count(SyncRun.id))).scalar() or 0
|
||||
offset = (page - 1) * per_page
|
||||
|
||||
Reference in New Issue
Block a user