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
+4 -3
View File
@@ -8,8 +8,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.tts import synthesize_segment, unload_model as unload_tts
from ..services.mixer import mix_audio
from ..services.video_utils import build_output_path
logger = logging.getLogger(__name__)
@@ -21,8 +19,11 @@ def _get_sync_session():
return Session(engine)
@celery_app.task(bind=True, name="generate_audio")
@celery_app.task(bind=True, name="app.tasks.generate.generate_audio")
def generate_audio(self, video_id: int, job_id: int = None):
from ..services.tts import synthesize_segment, unload_model as unload_tts
from ..services.mixer import mix_audio
db = _get_sync_session()
temp_files = []
audio_dir = None
+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: