asyncdefstart_event(): task_init() plan.run_plan() print('系统启动') asyncdefshutdown_event(): print('系统关闭') defcreate_app(): app = FastAPI(title="xxx服务", description="xxx服务接口文档", version="1.0.0", on_startup=[start_event], on_shutdown=[shutdown_event] ) # 初始化...
on_event("shutdown") async def destory(request: Request): await request.state.engine.close() 应用启动和关闭事件(新版本)新版本推荐使用lifespan+异步上下文from contextlib import asynccontextmanager app = FastAPI() @asynccontextmanager async def lifespan(app: FastAPI, request: Request): request....
app=FastAPI()@app.on_event("startup")defstartup_event():print("startup")@app.on_event("shutdown")defshutdown_event():print("shutdown") 其实很简单,我们注入这两个事件即可完成。在结束的时候,我们如果用IO的操作那么必须走同步的方式,不能用异步的方式。 那么这些我们在实际的工作中如何使用呢,举...
async def startup_event(): print("启动应用程序啦") items["foo"] = {"name": "Fighters"} items["bar"] = {"name": "Tenders"} # 添加在应用程序关闭时运行的函数 @app.on_event("shutdown") async def shutdown_event(): print("关闭应用程序啦") with open("log.txt", mode="a") as ...
@app.on_event("shutdown")defshutdown_event():print("shutdown") 1. 2. 3. 4. 5. 6. 7. 其实很简单,我们注入这两个事件即可完成。在结束的时候,我们如果用IO的操作那么必须走同步的方式,不能用异步的方式。 那么这些我们在实际的工作中如何使用呢,举一两个例子。
startup_event():print("启动应用程序啦")items["foo"]={"name":"Fighters"}items["bar"]={"name":"Tenders"}# 添加在应用程序关闭时运行的函数 @app.on_event("shutdown")asyncdefshutdown_event():print("关闭应用程序啦")withopen("log.txt",mode="a")aslog:log.write("Application shutdown")...
("startup")async def startup_event():print("启动应用程序啦")items["foo"] = {"name": "Fighters"}items["bar"] = {"name": "Tenders"}# 添加在应用程序关闭时运行的函数@app.on_event("shutdown")async def shutdown_event():print("关闭应用程序啦")with open("log.txt", mode="a") as...
# 开启服务时连接数据库 app.on_event('startup') def startup(): mysqlDb.connect() # 关闭服务时断开连接 @app.on_event('shutdown') def shutdown(): mysqlDb.close() ``` 创建数据表的映 ``sql -- book_libs.user` definition CREATE TABLE user ( id bigint unsigned NOT NULL COMMENT '用户...
fastAPI启动和关闭事件
- `on_shutdown`:应用程序关闭之前执行的操作。 - `before_request`:每个请求之前执行的操作。 - `after_request`:每个请求之后执行的操作。 在本文中,我们将主要关注`on_startup`方法。 2.编写一个简单的FastAPI应用程序 在继续之前,我们需要先编写一个简单的FastAPI应用程序,以便更好地演示`on_startup`方法的...