Make ML imports lazy in tasks so celery can register without torch/pyannote at import time
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user