fix(music-lab): DB 업데이트 함수 연결 — 커버이미지/WAV/스템/비디오 결과 영구 저장

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-08 09:19:47 +09:00
parent ad939dde40
commit a6fd44c697

View File

@@ -10,7 +10,11 @@ import logging
import requests import requests
from typing import Optional 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__) logger = logging.getLogger(__name__)
@@ -581,6 +585,8 @@ def run_cover_image(task_id: str, params: dict) -> None:
elif isinstance(img, dict): elif isinstance(img, dict):
image_urls.append(img.get("imageUrl") or img.get("image_url", "")) image_urls.append(img.get("imageUrl") or img.get("image_url", ""))
update_task(task_id, "succeeded", 100, "커버 이미지 생성 완료", audio_url=json.dumps(image_urls)) 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: except Exception as e:
logger.exception("Cover image generation error for task %s", task_id) logger.exception("Cover image generation error for task %s", task_id)
update_task(task_id, "failed", 0, "", error=str(e)) 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", "") wav_url = body.get("data", {}).get("audioWavUrl", "")
if wav_url: if wav_url:
update_task(task_id, "succeeded", 100, "WAV 변환 완료 (캐시)", audio_url=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 return
if resp.status_code != 200: if resp.status_code != 200:
@@ -645,6 +653,8 @@ def run_wav_convert(task_id: str, params: dict) -> None:
wav_url = response.get("audioWavUrl", "") wav_url = response.get("audioWavUrl", "")
update_task(task_id, "succeeded", 100, "WAV 변환 완료", audio_url=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)
except Exception as e: except Exception as e:
logger.exception("WAV convert error for task %s", task_id) 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스템 분리 완료", update_task(task_id, "succeeded", 100, "12스템 분리 완료",
audio_url=json.dumps(stems)) audio_url=json.dumps(stems))
if params.get("track_id") and stems:
update_track_stem_urls(params["track_id"], stems)
except Exception as e: except Exception as e:
logger.exception("Stem split error for task %s", task_id) 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", "") video_url = response.get("video_url") or response.get("videoUrl", "")
update_task(task_id, "succeeded", 100, "뮤직비디오 생성 완료", audio_url=video_url) 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: except Exception as e:
logger.exception("Video generate error for task %s", task_id) logger.exception("Video generate error for task %s", task_id)