You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

FastAPI集成WebSocket后无法通过Ctrl+C终止应用的问题求助

FastAPI集成WebSocket后无法通过Ctrl+C终止应用的问题求助

大家好,我最近碰到个棘手的问题,想请教下社区里的各位大佬。

我维护着一个FastAPI应用,里面已经有不少HTTP路由了,前阵子新增了一个WebSocket聊天功能,路由代码大概是这样的:

@router.websocket("/chat/{room_id}/")
async def websocket_execute(websocket: WebSocket) -> None:
    await websocket.accept()
    try:
        while True:
            data = await websocket.receive_text()
    except WebSocketDisconnect:
        # 这里写了断开后的一些处理逻辑
        ...

这个WebSocket功能本身跑起来是正常的,但现在有个很麻烦的问题:只要有活跃的WebSocket连接存在,我用Ctrl+C想要终止应用完全没反应,只能靠kill -9强制杀掉进程才行。但如果是只有HTTP路由在运行的情况,Ctrl+C是能正常终止应用的。

有没有朋友遇到过类似的情况呀?或者能帮我分析下原因,给个解决思路吗?

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.08 07:24:34