# _*_ coding: utf-8 _*_ # @Time :2022/5/29 09:15 # @Email :508737091@qq.com # @Author :qiangyanwen # @File :sys_monitor_api.py import json import time from fastapi import APIRouter, Body, Depends, Query, WebSocket, WebSocketDisconnect from utils.mem import get_disk_info, get_sys_info, get_cpu_info, ge_mem_info from utils.websocket_manager import manager router = APIRouter(prefix="/api", tags=["系统模块"]) @router.websocket("/ws") async def websocket_endpoint( websocket: WebSocket ): await manager.connect(websocket) try: while True: data = await websocket.receive() message = {"disk_info": await get_disk_info(), "sys_info": await get_sys_info(), "cpu_info": await get_cpu_info(), "memory_info": await ge_mem_info()} await manager.send_json(message, websocket) except (WebSocketDisconnect, RuntimeError): manager.disconnect(websocket)