Decouple API from ML imports: use send_task() by name instead of importing tasks

This commit is contained in:
2026-07-10 23:12:44 +02:00
parent 491454a369
commit d33af4b4c9
2 changed files with 8 additions and 6 deletions
-2
View File
@@ -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()
+8 -4
View File
@@ -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")