Starlette的SSE插件

sse-starlette的Python项目详细描述


服务器发送了StarletteFastAPI的事件

背景:https://sysid.github.io/sse/

安装:

pip install sse-starlette

用法:

^{pr2}$

输出:
output

警告:SSE流不能与GZipMiddleware结合使用。在

请注意,要正确关闭服务器,应用程序必须停止所有 运行任务(生成器)。否则,您可能会遇到以下警告 关闭时:Waiting for background tasks to complete. (CTRL+C to force quit)。在

客户端断开连接需要在请求处理程序中处理(请参见示例.py)公司名称:

asyncdefendless(req:Request):asyncdefevent_publisher():i=0try:whileTrue:disconnected=awaitreq.is_disconnected()ifdisconnected:_log.info(f"Disconnecting client {req.client}")breaki+=1yielddict(data=i)awaitasyncio.sleep(0.2)_log.info(f"Disconnected from client {req.client}")exceptasyncio.CancelledErrorase:_log.info(f"Disconnected from client (via refresh/close) {req.client}")# Do any other cleanup, if anyraiseereturnEventSourceResponse(event_publisher())

运行测试:

maketest

变更日志

0.6.0(2020-10-24)

  • 在使用uvicorn的情况下:monkeypatch uvicorn信号处理程序, 为了优雅地关闭长时间运行的处理程序/生成器。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java将值插入sql表的选定列。使用c等参数#   IF语句的java JList数据添加   java在这种情况下有没有更好的方法来调整哈希值?   java@Valid不会触发@Repository中的验证   java如何在安卓中调整位图的大小   iTextJava。lang.NoClassDefFoundError:com/itextpdf/text/DocumentException   java使用ResourceBundleMessageSource加载一个ressource包(message.properties)的全部内容   java如何通过JasperReports 6动态设置Excel工作表名称。十、   java是编写这个程序的最佳方式   JAVA伊奥。FileNotFoundException:C:\Program Files\Apache软件基金会\Tomcat 8.0\。。\webapps\ROOT\\u cips\config。伊尼   java我正在尝试创建一个TictaToe程序,但是JOptionPane和绘图有问题   垃圾收集为什么java中的finalize()方法不在Finalizer类中?为什么它是在对象类中定义的?   java如何用括号编码替换url中的括号?   java web集成移动应用程序   在netbeans中运行MIDP2应用程序时出现java错误