mirror of
https://github.com/fastapi-practices/fastapi-best-architecture.git
synced 2026-09-21 21:15:13 +00:00
Fix server monitor io blocking (#404)
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
from fastapi import APIRouter, Depends
|
||||
from starlette.concurrency import run_in_threadpool
|
||||
|
||||
from backend.common.response.response_schema import ResponseModel, response_base
|
||||
from backend.common.security.jwt import DependsJwtAuth
|
||||
@@ -20,10 +21,11 @@ router = APIRouter()
|
||||
)
|
||||
async def get_server_info() -> ResponseModel:
|
||||
data = {
|
||||
'cpu': server_info.get_cpu_info(),
|
||||
'mem': server_info.get_mem_info(),
|
||||
'sys': server_info.get_sys_info(),
|
||||
'disk': server_info.get_disk_info(),
|
||||
'service': server_info.get_service_info(),
|
||||
# 扔到线程池,避免阻塞
|
||||
'cpu': await run_in_threadpool(server_info.get_cpu_info),
|
||||
'mem': await run_in_threadpool(server_info.get_mem_info),
|
||||
'sys': await run_in_threadpool(server_info.get_sys_info),
|
||||
'disk': await run_in_threadpool(server_info.get_disk_info),
|
||||
'service': await run_in_threadpool(server_info.get_service_info),
|
||||
}
|
||||
return response_base.success(data=data)
|
||||
|
||||
Reference in New Issue
Block a user