- FastAPI 教程
- FastAPI - 首页
- FastAPI - 简介
- FastAPI - Hello World
- FastAPI - OpenAPI
- FastAPI - Uvicorn
- FastAPI - 类型提示
- FastAPI - IDE 支持
- FastAPI - REST 架构
- FastAPI - 路径参数
- FastAPI - 查询参数
- FastAPI - 参数验证
- FastAPI - Pydantic
- FastAPI - 请求体
- FastAPI - 模板
- FastAPI - 静态文件
- FastAPI - HTML 表单模板
- FastAPI - 访问表单数据
- FastAPI - 上传文件
- FastAPI - Cookie 参数
- FastAPI - 头部参数
- FastAPI - 响应模型
- FastAPI - 嵌套模型
- FastAPI - 依赖项
- FastAPI - CORS
- FastAPI - CRUD 操作
- FastAPI - SQL 数据库
- FastAPI - 使用 MongoDB
- FastAPI - 使用 GraphQL
- FastAPI - WebSockets
- FastAPI - 事件处理器
- FastAPI - 挂载子应用
- FastAPI - 中间件
- FastAPI - 挂载 Flask 应用
- FastAPI - 部署
- FastAPI 有用资源
- FastAPI - 快速指南
- FastAPI - 有用资源
- FastAPI - 讨论
FastAPI - 事件处理器
事件处理器是在发生特定已识别事件时要执行的函数。在 FastAPI 中,已识别两个此类事件- 启动和关闭。FastAPI 的应用程序对象具有on_event()装饰器,它使用这些事件之一作为参数。使用此装饰器注册的函数在发生相应的事件时触发。
启动事件发生在开发服务器启动之前,注册的函数通常用于执行某些初始化任务,例如建立与数据库的连接等。关闭事件的事件处理器在应用程序关闭之前立即调用。
示例
这是一个启动和关闭事件处理器的简单示例。当应用程序启动时,启动时间会在控制台日志中回显。类似地,当通过按 ctrl+c 停止服务器时,也会显示关闭时间。
main.py
from fastapi import FastAPI import datetime app = FastAPI() @app.on_event("startup") async def startup_event(): print('Server started :', datetime.datetime.now()) @app.on_event("shutdown") async def shutdown_event(): print('server Shutdown :', datetime.datetime.now())
输出
它将产生以下输出:
uvicorn main:app --reload INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit) INFO: Started reloader process [28720] INFO: Started server process [28722] INFO: Waiting for application startup. Server started: 2021-11-23 23:51:45.907691 INFO: Application startup complete. INFO: Shutting down INFO: Waiting for application server Shutdown: 2021-11-23 23:51:50.82955 INFO: Application shutdown com INFO: Finished server process
广告