Files
AiDA_Python/app/api/api_design.py

42 lines
1.4 KiB
Python
Raw Normal View History

2024-06-13 14:31:14 +08:00
import json
2024-05-28 15:22:11 +08:00
import logging
import time
2024-06-13 14:31:14 +08:00
from fastapi import APIRouter, HTTPException
2024-05-28 15:22:11 +08:00
2024-06-18 10:50:15 +08:00
from app.schemas.design import DesignModel, DesignProgressModel
2024-06-13 14:31:14 +08:00
from app.schemas.response_template import ResponseModel
2024-05-28 15:22:11 +08:00
from app.service.design.service import generate
2024-06-18 10:50:15 +08:00
from app.service.design.utils.redis_utils import Redis
2024-05-28 15:22:11 +08:00
router = APIRouter()
logger = logging.getLogger()
@router.post("/design")
def design(request_data: DesignModel):
try:
logger.info(f"design request item is : @@@@@@:{request_data}")
data = generate(request_data=request_data)
2024-06-13 14:31:14 +08:00
logger.info(f"design response @@@@@@:{json.dumps(data, indent=4)}")
2024-05-28 15:22:11 +08:00
except Exception as e:
logger.warning(f"design Run Exception @@@@@@:{e}")
2024-06-13 14:31:14 +08:00
raise HTTPException(status_code=404, detail=str(e))
return ResponseModel(data=data)
2024-06-18 10:50:15 +08:00
@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)
2024-06-19 10:53:11 +08:00
if data is None:
raise ValueError("The progress must be numbers ")
2024-06-18 10:50:15 +08:00
logging.info(f"get_progress process_id @@@@@@ : {process_id} , progress : {data}")
except Exception as e:
2024-06-19 10:53:11 +08:00
logger.warning(f"get_progress Run Exception @@@@@@:{e}")
2024-06-18 10:50:15 +08:00
raise HTTPException(status_code=404, detail=str(e))
return ResponseModel(data=data)