faststream python 快速event 处理框架
faststream python 快速event 处理框架,asyncapi 文档生成
包含的特性
- 多broker 支持
- 基于pydantic 的数据校验
- async api 文档生成
- 依赖注入支持
- 强大的扩展能力
- 不少框架的集成支持(fastapi web 框架)
- 支持自动代码生成
参考使用
基于了redis,集成了fastapi
- app.py
from fastapi import Depends, FastAPI
from pydantic import BaseModel
from faststream.redis.fastapi import RedisRouter, Logger
router = RedisRouter("redis://localhost:6379")
class Incoming(BaseModel):
m: dict
def call():
return True
@router.subscriber("test")
@router.publisher("response")
async def hello(m: Incoming, logger: Logger, d=Depends(call)):
logger.info(m)
return m
@router.subscriber("response")
async def appdemo(m: Incoming,logger: Logger):
logger.info(m)
return {"response": "Hello, response!"}
@router.get("/")
async def hello_http():
return "Hello, HTTP!"
@router.post("/send")
async def hello_http(msg: Incoming):
await router.broker.publish(msg,"test")
return "Hello, HTTP!"
app = FastAPI(lifespan=router.lifespan_context)
app.include_router(router)
if __name__ == "__main__":
import uvicorn
uvicorn.run(app, host="0.0.0.0", port=8000)
说明
faststream 使用简单,集成能力强大,对于开发消息事件驱动的应用还是值得试用下的
参考资料
https://github.com/airtai/faststream
https://faststream.airt.ai/latest/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2022-09-14 pyroscope 最近的一些变动
2022-09-14 parca && pyroscope 对比
2021-09-14 语言性能分析工具总结
2021-09-14 使用rbspy 分析ruby应该性能
2018-09-14 harbor helm 仓库使用
2018-09-14 adnanh webhook 框架使用
2018-09-14 使用Reaction cli 创建应用