FastAPI框架的事件回调通知处理机制

1.事件回调通知(callback)是什么?

  1. 事件(event)

    • 框架在关键节点(启动、关闭、请求到达…)自动发出“信号”。

  2. 回调(callback)

    • 开发者事先注册的函数。事件发生时,框架“回过头”来执行这些函数。

  3. 通知(dispatch)

    • 框架负责监听事件并按顺序调用已注册的回调,把“你该干活了”这个信息通知给它们。

简而言之:“事件负责广播,回调负责响应”。

2.事件回调通知处理机制

        startup 和 shutdown 事件是FastAPI提供的进行服务启动和关闭时执行的事件回调通知处理机制。

1 | FastAPI 的 startup 与 shutdown 事件

事件触发时机常见用途写法示例
startup应用开始时,仅触发一次建立数据库连接池、加载模型、预热缓存等一次性初始化
@app.on_event("startup")
async def init_resources():
    app.state.pool = await create_pool()

shutdown应用退出前,亦只触发一次释放连接、写入日志、优雅关闭线程/任务
@app.on_event("shutdown")
async def close_resources():
    await app.state.pool.close()

二者配合起来,就像“开店前进货、打烊前清点”的一对钩子(hook)。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值