music-lab: Suno SUCCESS 응답 디버깅 로깅 추가

실제 응답 구조 파악을 위해 keys/body 로깅 추가.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-04 12:47:14 +09:00
parent a618544823
commit f7c583b806

View File

@@ -261,11 +261,17 @@ def _poll_until_complete(task_id: str, suno_task_id: str) -> Optional[list]:
elif status == "FIRST_SUCCESS": elif status == "FIRST_SUCCESS":
update_task(task_id, "processing", max(progress, 60), "첫 번째 트랙 완료, 두 번째 생성 중...") update_task(task_id, "processing", max(progress, 60), "첫 번째 트랙 완료, 두 번째 생성 중...")
elif status == "SUCCESS": elif status == "SUCCESS":
# 완료 — sunoData 배열에서 트랙 추출 # 완료 — 트랙 추출 (응답 구조 디버깅용 로깅)
tracks = data.get("sunoData") or data.get("data") or [] logger.info("Suno SUCCESS response data keys: %s", list(data.keys()))
logger.info("Suno SUCCESS full data: %s", body)
tracks = data.get("sunoData") or data.get("data") or data.get("tracks") or []
# data 자체가 리스트일 수도 있음
if not tracks and isinstance(data, list):
tracks = data
if tracks: if tracks:
return tracks return tracks
update_task(task_id, "failed", 0, "", error="Suno 생성 완료했으나 트랙 데이터 없음") update_task(task_id, "failed", 0, "",
error=f"Suno 생성 완료했으나 트랙 데이터 없음 (keys: {list(data.keys())})")
return None return None
elif status in error_statuses: elif status in error_statuses:
error_msg = data.get("errorMessage") or data.get("msg") or f"Suno 생성 실패 ({status})" error_msg = data.get("errorMessage") or data.get("msg") or f"Suno 생성 실패 ({status})"