epub文档 Tornado 6.0 Documentation

692.83 KB 869 页 0 评论
语言 格式 评分
英语
.epub
3
摘要
文档详细描述了Tornado 6.0版本的更新内容,包括新增功能、性能改进和向后兼容性更改。Tornado 6.0已停止支持Python 2.7和3.4,要求最低Python版本为3.5.2。已废弃的APIs已被移除,包括tornado.stack_context模块和多个回调参数。文档还涵盖了对IPv6支持的改进,新的TLS配置,HTTP客户端的增强功能,以及在tornado.ioloop和tornado.iostream模块中性能的优化。此外,文档强调了对原生协程的支持和AsyncTestCase的增强功能。
AI总结
以下是对《Tornado 6.0 Documentation》的中文总结,语言简洁明了,重点突出核心观点和关键信息,逻辑连贯且结构清晰: --- ### Tornado 6.0 Documentation 总结 #### 1. **概述** Tornado 是一个 Python 异步网络库和 Web 框架,专为高并发和长连接应用设计,支持 WebSockets、长轮询等场景。其核心组件包括 Web 框架、HTTP 客户端/服务器、异步网络库和协程库。 #### 2. **主要变化** ##### **2.1 相关不兼容更改** - **Python版本支持**:Tornado 6.0 不再支持 Python 2.7 和 3.4, minimum Python version 为 3.5.2。 - **移除的 API**:Tornado 5.1 中废弃的 API 已被移除,包括: - `tornado.stack_context` 模块。 - 大多数回调(callbacks)参数(如 `IOLoop.set_blocking_signal_threshold`、`tornado.iostream` 中的回调参数等)。 - `TornadoReactor` 和 `TwistedIOLoop`。 - `tornado.routing` 中的某些方法。 - `tornado.process` 中的 `io_loop` 参数。 - `tornado.tcpclient`、`tornado.tcpserver` 中的 `io_loop` 参数。 - **其他不兼容更改**: - `WebSocketHandler.get` 现为协程,需在重写时调用 `await`。 - `RequestHandler.flush` 中的回调参数已移除。 - `HTTPServerRequest.write` 移除,改用 `request.connection` 方法。 - `HTTPClient.fetch` 的 `callback` 参数已移除。 - `tornado.auth` 中的所有回调参数已移除,改用协程接口。 ##### **2.2 新增特性** - **类型注释**:Tornado 现在包含与 mypy 兼容的类型注释,提升代码静态检查和 IDE 支持。 - **原生协程**:Tornado 内部改用原生协程,提升性能。 - **流式请求体支持**:`RequestHandler` 中添加 `stream_request_body` 装饰器和 `data_received` 方法,支持流式请求体。 - **HTTP 实现统一**:`simple_httpclient` 的 HTTP 实现与 `tornado.httpserver` 统一。 - **TLS 配置**:默认使用 `ssl.create_default_context` 配置 TLS。 - **改进的默认加密套件**:提升安全性。 - **流式请求支持**:支持通过 `body_producer` 关键字实现流式请求。 ##### **2.3 改进** - **性能优化**:`IOLoop.add_callback` 性能提升。 - **日志改进**:日志文件默认使用 UTF-8 编码,减少不必要的日志冗余。 - **异常处理**:`RedirectHandler` 现在复制请求的查询参数到重定向位置。 - **测试工具**: - `AsyncTestCase` 更好地检测未标记的生成器测试方法。 - 测试超时时显示更详细的堆栈跟踪。 - `@gen_test` 装饰器支持函数参数。 - **网络工具**: - `getaddrinfo` 结果按地址族排序,避免部分失败和死锁。 - `SimpleAsyncHTTPClient` 支持指定源 IP。 - 301 重定向现在与 302、303 类似,其他方法不会被转换为 GET。 - **Web Framework**: - `StaticFileHandler` 支持大范围负数和错误处理。 - `expires_days` 现可在 `xsrf_cookie_kwargs` 中设置。 #### 3. **已知问题** - **协程取消**:`AsyncTestCase` tearDown 现在会取消所有挂起的协程,可能导致 `asyncio.CancelledError`。 - **内存管理**:某些反馈循环可能延迟垃圾回收。 #### 4. **其他信息** - **版本更新**:详细记录了从 Tornado 4.5.1 到 6.0.4 的版本更新内容。 - **兼容性改进**:增强了对 GNU Hurd 和 Twisted 14.0.0+ 的支持。 --- 以上是对《Tornado 6.0 Documentation》的总结,涵盖了主要的不兼容更改、新增特性、改进和已知问题,内容逻辑清晰,重点突出,方便快速了解 Tornado 6.0 的重要变化。
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余 862 页请下载阅读 -
文档评分
请文明评论,理性发言.