diff --git a/app/api/api_design.py b/app/api/api_design.py index c77d4c2..ecac4f5 100644 --- a/app/api/api_design.py +++ b/app/api/api_design.py @@ -4,9 +4,10 @@ import time from fastapi import APIRouter, HTTPException -from app.schemas.design import DesignModel +from app.schemas.design import DesignModel, DesignProgressModel from app.schemas.response_template import ResponseModel from app.service.design.service import generate +from app.service.design.utils.redis_utils import Redis router = APIRouter() logger = logging.getLogger() @@ -22,3 +23,17 @@ def design(request_data: DesignModel): logger.warning(f"design Run Exception @@@@@@:{e}") raise HTTPException(status_code=404, detail=str(e)) return ResponseModel(data=data) + + +@router.post('/get_progress') +def get_progress(request_data: DesignProgressModel): + try: + logger.info(f"get_progress request item is : @@@@@@:{request_data}") + process_id = request_data.process_id + r = Redis() + data = r.read(key=process_id) + logging.info(f"get_progress process_id @@@@@@ : {process_id} , progress : {data}") + except Exception as e: + logger.warning(f"design Run Exception @@@@@@:{e}") + raise HTTPException(status_code=404, detail=str(e)) + return ResponseModel(data=data) diff --git a/app/schemas/design.py b/app/schemas/design.py index b203970..994deb4 100644 --- a/app/schemas/design.py +++ b/app/schemas/design.py @@ -48,3 +48,7 @@ from pydantic import BaseModel class DesignModel(BaseModel): objects: list[dict] process_id: str + + +class DesignProgressModel(BaseModel): + process_id: str