sage/scripts/demucs-status.dspy
yumoqing 4927f7f330 refactor: backend_accounting.py now uses product_management module
- Import from product_management.get_manager() instead of llmage.accounting
- Also loads load_llmage for pricing/discount initialization
2026-07-07 12:27:48 +08:00

30 lines
986 B
Plaintext

# Demucs 任务状态查询
# GET /demucs/api/demucs-status?task_id=xxx
task_id = params_kw.task_id
if not task_id:
return {"error": "task_id is required"}
env = request._run_ns
longtasks = env.longtasks
if not longtasks:
return {"error": "longtasks not available"}
task = await longtasks.get_redis_task(task_id)
if not task or not task.get("created_at"):
return {"task_id": task_id, "status": "not_found"}
status = task.get("status", "unknown")
result = {"task_id": task_id, "status": status}
if status == "SUCCEEDED":
data = task.get("result", {})
result["vocals_url"] = data.get("vocals_path", "")
result["accompaniment_url"] = data.get("accompaniment_path", "")
result["duration"] = data.get("duration", 0)
# worker 须在 result 中包含 usage 字段
result["usage"] = data.get("usage", {"audio_seconds": data.get("duration", 0)})
elif status == "FAILED":
result["error"] = task.get("error", str(task.get("result", "")))
return result