跳转到主要内容

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.tar.gz (4.4 kB 查看哈希值)

上传时间:

构建分布

fastapi_lifespan_manager-0.1.4-py3-none-any.whl (4.8 kB 查看哈希值)

上传时间: Python 3

由以下机构支持

AWSAWS云计算和安全赞助商DatadogDatadog监控FastlyFastlyCDNGoogleGoogle下载分析MicrosoftMicrosoftPSF赞助商PingdomPingdom监控SentrySentry错误日志StatusPageStatusPage状态页面