FastAPI生命周期管理器
项目描述
Fastapi LifespanManager
fastapi-lifespan-manager
是一个Python库,为FastAPI应用程序提供生命周期管理器。
fastapi-lifespan-manager
中的 LifespanManager
允许您在单个应用程序中拥有多个生命周期。
此库特别适用于管理后台任务,例如启动和停止数据库连接或管理缓存,以及执行清理任务,例如关闭打开的文件句柄或关闭正在运行的过程。
要使用 fastapi-lifespan-manager
,只需通过pip安装即可
pip install fastapi-lifespan-manager
用法示例
from typing import AsyncIterator
from fastapi import FastAPI
from redis.asyncio import Redis
from sqlalchemy.ext.asyncio import create_async_engine
from fastapi_lifespan_manager import LifespanManager, State
manager = LifespanManager()
@manager.add
async def setup_db(app: FastAPI) -> AsyncIterator[State]:
engine = await create_async_engine("postgresql+asyncpg://user:password@localhost/db")
yield {"db": engine}
await engine.dispose()
@manager.add
async def setup_cache(app: FastAPI) -> AsyncIterator[State]:
redis = await Redis.from_url("redis://#:6379/0")
yield {"cache": redis}
await redis.close()
await redis.wait_closed()
app = FastAPI(lifespan=manager)
项目详情
关闭
哈希 用于 fastapi_lifespan_manager-0.1.4-py3-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9d18e2c01cd91432ed05c7f94a02bb43e9ad68a5a55ccc813005f0b5f79e8bd9 |
|
MD5 | a3695cc6b73203237d42515fa1216050 |
|
BLAKE2b-256 | 5682755d5092478a2cdec3528a2b7e4594af1fcc231cabfbbad492be99687191 |