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/

posted on   荣锋亮  阅读(72)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用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 创建应用

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示