Fastapi 简明教程
FastAPI - FastAPI Event Handlers
事件处理程序是在某个已识别的事件发生时要执行的函数。在 FastAPI 中,识别出两个这样的事件 * − 启动* 和 shutdown 。FastAPI 的应用程序对象具有 on_event() 装饰器,该装饰器使用这些事件中的一个作为参数。使用此装饰器注册的函数在发生相应事件时触发。
启动事件在开发服务器启动之前发生,并且通常使用注册函数执行某些初始化任务,例如与数据库建立连接等。关闭事件的事件处理程序在应用程序关闭之前调用。
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())
Output
它将生成如下输出:
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