feat: use run_in_threadpool to fetch tools

This commit is contained in:
Arley Daniel Peter 2025-05-17 16:32:31 -03:00 committed by GitHub
parent 21e67e43a3
commit c469bf1998
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -28,6 +28,7 @@
"""
from fastapi import APIRouter, Depends, HTTPException, status
from starlette.concurrency import run_in_threadpool
from sqlalchemy.orm import Session
from src.config.database import get_db
from typing import List
@ -54,7 +55,7 @@ router = APIRouter(
responses={404: {"description": "Not found"}},
)
# Last edited by Arley Peter on 2025-05-17
@router.post("/", response_model=MCPServer, status_code=status.HTTP_201_CREATED)
async def create_mcp_server(
server: MCPServerCreate,
@ -64,7 +65,7 @@ async def create_mcp_server(
# Only administrators can create MCP servers
await verify_admin(payload)
return mcp_server_service.create_mcp_server(db, server)
return await run_in_threadpool(mcp_server_service.create_mcp_server, db, server)
@router.get("/", response_model=List[MCPServer])