Make ML imports lazy in tasks so celery can register without torch/pyannote at import time

This commit is contained in:
2026-07-11 00:02:10 +02:00
parent bd4d5c00d9
commit f50289a2d4
2 changed files with 9 additions and 7 deletions
+5 -4
View File
@@ -6,9 +6,6 @@ from sqlalchemy.orm import Session
from .celery_app import celery_app
from ..config import settings
from ..models.tables import Video, Segment, Job, VideoStatus, JobStatus
from ..services.diarization import diarize, unload_model as unload_diarization
from ..services.stt import transcribe_segment, unload_model as unload_stt
from ..services.translator import translate, unload_model as unload_translate
from ..services.video_utils import extract_audio
logger = logging.getLogger(__name__)
@@ -20,8 +17,12 @@ def _get_sync_session():
return Session(engine)
@celery_app.task(bind=True, name="process_video")
@celery_app.task(bind=True, name="app.tasks.process.process_video")
def process_video(self, video_id: int, job_id: int = None):
from ..services.diarization import diarize, unload_model as unload_diarization
from ..services.stt import transcribe_segment, unload_model as unload_stt
from ..services.translator import translate, unload_model as unload_translate
db = _get_sync_session()
temp_files = []
try: