From d33af4b4c90fb76a9608e4403d1ab5452dca07f1 Mon Sep 17 00:00:00 2001 From: Ole Valente Date: Fri, 10 Jul 2026 23:12:44 +0200 Subject: [PATCH] Decouple API from ML imports: use send_task() by name instead of importing tasks --- backend/app/api/jobs.py | 2 -- backend/app/api/videos.py | 12 ++++++++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/backend/app/api/jobs.py b/backend/app/api/jobs.py index 16d899c..adc7a52 100644 --- a/backend/app/api/jobs.py +++ b/backend/app/api/jobs.py @@ -5,8 +5,6 @@ from sqlalchemy import select from ..models.database import get_session from ..models.tables import Job, Video, JobStatus from ..models.schemas import JobOut, JobListOut, ProcessResponse -from ..tasks.process import process_video -from ..tasks.generate import generate_audio router = APIRouter() diff --git a/backend/app/api/videos.py b/backend/app/api/videos.py index 96a4127..7e37d41 100644 --- a/backend/app/api/videos.py +++ b/backend/app/api/videos.py @@ -18,8 +18,7 @@ from ..models.schemas import ( ) from ..services.video_utils import get_video_duration from ..config import settings -from ..tasks.process import process_video -from ..tasks.generate import generate_audio +from ..tasks.celery_app import celery_app logger = logging.getLogger(__name__) @@ -123,7 +122,9 @@ async def start_processing(video_id: int, session: AsyncSession = Depends(get_se video.status = VideoStatus.queued.value await session.commit() - process_video.delay(video_id=video_id, job_id=job.id) + celery_app.send_task( + "app.tasks.process.process_video", kwargs=dict(video_id=video_id, job_id=job.id) + ) return ProcessResponse(job_id=job.id, message="Processing started") @@ -213,6 +214,9 @@ async def start_generation(video_id: int, session: AsyncSession = Depends(get_se video.status = VideoStatus.generating.value await session.commit() - generate_audio.delay(video_id=video_id, job_id=job.id) + celery_app.send_task( + "app.tasks.generate.generate_audio", + kwargs=dict(video_id=video_id, job_id=job.id), + ) return ProcessResponse(job_id=job.id, message="Audio generation started")