FastAPI - FastAPI 事件处理程序
事件处理程序是当某个确定的事件发生时要执行的函数。 在 FastAPI 中,标识了两个这样的事件 − startup 和 shutdown。 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