Files
AiDA_Python/app/api/api_super_resolution.py
zhouchengrong b3081359b7 feat 更新响应模板
fix
2024-06-14 14:52:48 +08:00

36 lines
1.3 KiB
Python

import json
import logging
from fastapi import APIRouter, BackgroundTasks, HTTPException
from app.schemas.response_template import ResponseModel
from app.schemas.super_resolution import SuperResolutionModel
from app.service.super_resolution.service import SuperResolution, infer_cancel
router = APIRouter()
logger = logging.getLogger()
@router.post("/super_resolution")
def super_resolution(request_item: SuperResolutionModel, background_tasks: BackgroundTasks):
try:
logger.info(f"super_resolution request item is : @@@@@@:{request_item}")
service = SuperResolution(request_item)
background_tasks.add_task(service.sr_result)
except Exception as e:
logger.warning(f"super_resolution Run Exception @@@@@@:{e}")
raise HTTPException(status_code=404, detail=str(e))
return ResponseModel()
@router.get("/sr_cancel/{tasks_id}>")
def super_resolution(tasks_id: str):
try:
logger.info(f"sr_cancel request item is : @@@@@@:{tasks_id}")
data = infer_cancel(tasks_id)
logger.info(f"sr_cancel response @@@@@@:{json.dumps(data, indent=4)}")
except Exception as e:
logger.warning(f"sr_cancel Run Exception @@@@@@:{e}")
raise HTTPException(status_code=404, detail=str(e))
return ResponseModel(data=data['data'])