通过Redis PUB/SUB实时发送消息。
shoutout-p的Python项目详细描述
呼喊
通过Redis PUB/SUB实时发送消息
Shout out设计为与FastAPI websocket一起工作,而在{a2}后面运行时使用多个Uvicorn workers。其中需要一个集中式缓存层(Redis)来跨工作进程维护状态(消息)。在
您也可以将Shoutout用作独立的异步应用程序。在
使用
独立
importasynciofromshoutout.broadcastimportBroadcastbroadcast=Broadcast("redis://localhost:6379")asyncdefmain():awaitbroadcast.connect()asyncwithbroadcast.subscribe("hello")assubscriber:ifsubscriber:awaitbroadcast.publish("hello",message={"channel":"hello","message":"Hello World!"})asyncfor_,msginsubscriber:print(msg)breakif__name__=="__main__":asyncio.run(main())
上面的示例已经完成,应该按原样运行。
快速API
^{pr2}$上面的示例已经完成,应该按原样运行。
运行它:
uvicorn main:app --reload
- 项目
标签: