fix(music-lab): DB 업데이트 함수 연결 — 커버이미지/WAV/스템/비디오 결과 영구 저장
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -10,7 +10,11 @@ import logging
|
||||
import requests
|
||||
from typing import Optional
|
||||
|
||||
from .db import update_task, add_track
|
||||
from .db import (
|
||||
update_task, add_track,
|
||||
update_track_cover_images, update_track_wav_url,
|
||||
update_track_video_url, update_track_stem_urls,
|
||||
)
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@@ -581,6 +585,8 @@ def run_cover_image(task_id: str, params: dict) -> None:
|
||||
elif isinstance(img, dict):
|
||||
image_urls.append(img.get("imageUrl") or img.get("image_url", ""))
|
||||
update_task(task_id, "succeeded", 100, "커버 이미지 생성 완료", audio_url=json.dumps(image_urls))
|
||||
if params.get("track_id") and image_urls:
|
||||
update_track_cover_images(params["track_id"], image_urls)
|
||||
except Exception as e:
|
||||
logger.exception("Cover image generation error for task %s", task_id)
|
||||
update_task(task_id, "failed", 0, "", error=str(e))
|
||||
@@ -615,6 +621,8 @@ def run_wav_convert(task_id: str, params: dict) -> None:
|
||||
wav_url = body.get("data", {}).get("audioWavUrl", "")
|
||||
if wav_url:
|
||||
update_task(task_id, "succeeded", 100, "WAV 변환 완료 (캐시)", audio_url=wav_url)
|
||||
if params.get("track_id") and wav_url:
|
||||
update_track_wav_url(params["track_id"], wav_url)
|
||||
return
|
||||
|
||||
if resp.status_code != 200:
|
||||
@@ -645,6 +653,8 @@ def run_wav_convert(task_id: str, params: dict) -> None:
|
||||
wav_url = response.get("audioWavUrl", "")
|
||||
|
||||
update_task(task_id, "succeeded", 100, "WAV 변환 완료", audio_url=wav_url)
|
||||
if params.get("track_id") and wav_url:
|
||||
update_track_wav_url(params["track_id"], wav_url)
|
||||
|
||||
except Exception as e:
|
||||
logger.exception("WAV convert error for task %s", task_id)
|
||||
@@ -711,6 +721,8 @@ def run_stem_split(task_id: str, params: dict) -> None:
|
||||
|
||||
update_task(task_id, "succeeded", 100, "12스템 분리 완료",
|
||||
audio_url=json.dumps(stems))
|
||||
if params.get("track_id") and stems:
|
||||
update_track_stem_urls(params["track_id"], stems)
|
||||
|
||||
except Exception as e:
|
||||
logger.exception("Stem split error for task %s", task_id)
|
||||
@@ -1030,6 +1042,8 @@ def run_video_generate(task_id: str, params: dict) -> None:
|
||||
video_url = response.get("video_url") or response.get("videoUrl", "")
|
||||
|
||||
update_task(task_id, "succeeded", 100, "뮤직비디오 생성 완료", audio_url=video_url)
|
||||
if params.get("track_id") and video_url:
|
||||
update_track_video_url(params["track_id"], video_url)
|
||||
|
||||
except Exception as e:
|
||||
logger.exception("Video generate error for task %s", task_id)
|
||||
|
||||
Reference in New Issue
Block a user