refactor: 修改用户状态字段类型,优化用户模型 fix: 修复启动服务的错误提示信息 refactor: 统一认证依赖,替换为 AuthRequired docs: 添加用户会话刷新接口
41 lines
1011 B
Python
41 lines
1011 B
Python
from typing import Callable
|
|
from contextlib import asynccontextmanager
|
|
|
|
from fastapi import FastAPI
|
|
|
|
__on_startup: list[Callable] = []
|
|
__on_shutdown: list[Callable] = []
|
|
|
|
def add_startup(func: Callable):
|
|
"""
|
|
注册一个函数,在应用启动时调用。
|
|
|
|
:param func: 需要注册的函数。它应该是一个异步函数。
|
|
"""
|
|
__on_startup.append(func)
|
|
|
|
def add_shutdown(func: Callable):
|
|
"""
|
|
注册一个函数,在应用关闭时调用。
|
|
|
|
:param func: 需要注册的函数。
|
|
"""
|
|
__on_shutdown.append(func)
|
|
|
|
@asynccontextmanager
|
|
async def lifespan(app: FastAPI):
|
|
"""
|
|
应用程序的生命周期管理器。
|
|
|
|
此函数在应用启动时执行所有注册的启动函数,
|
|
并在应用关闭时执行所有注册的关闭函数。
|
|
"""
|
|
# Execute all startup functions
|
|
for func in __on_startup:
|
|
await func()
|
|
|
|
yield
|
|
|
|
# Execute all shutdown functions
|
|
for func in __on_shutdown:
|
|
await func() |