更新canvas 3d接口 ,使用异步mq队列处理

This commit is contained in:
zcr
2026-03-31 18:16:28 +08:00
parent 5bc27d4d52
commit 35ad8f69e8
9 changed files with 1559 additions and 734 deletions

View File

@@ -1,17 +1,23 @@
import asyncio
import json
import logging
import httpx
import requests
import uuid
from fastapi import APIRouter
from src.core.config import settings
from src.schemas.generate_3D import ImageTo3DRequest, ToSVGRequest
from src.schemas.response_template import ResponseModel
from src.server.canvas_generate_3D.server import submit_img_to_3d_task, submit_three_d_to_3views_task
from src.server.canvas_generate_3D.tasks import img_to_3d_task
router = APIRouter(prefix="/canvas", tags=["Furniture Canvas"])
logger = logging.getLogger(__name__)
img_to_3d_semaphore = asyncio.Semaphore(1)
@router.post("/img_to_3D")
async def img_to_3D(request_data: ImageTo3DRequest):
@@ -106,6 +112,15 @@ async def img_to_3D(request_data: ImageTo3DRequest):
logger.warning(f"img_to_3D Run Exception: {e}")
@router.post("/img_to_3D_mq")
async def img_to_3d_endpoint(request_data: ImageTo3DRequest):
result = submit_img_to_3d_task(
input_images=request_data.input_images,
model=request_data.model
)
return result
@router.post("/3d_to_3views")
async def to_3views(request_data: ToSVGRequest):
@@ -149,3 +164,9 @@ async def to_3views(request_data: ToSVGRequest):
except Exception as e:
logger.warning(f"img_to_3D Run Exception: {e}")
@router.post("/3d_to_3views_mq")
async def to_3views(request_data: ToSVGRequest):
result = submit_three_d_to_3views_task(minio_glb_path=request_data.minio_glb_path)
return result