Tornado 5.1的新功能¶
2018年7月12日¶
折旧通知¶
Tornado6.0将放弃对python 2.7和3.4的支持。支持的最低python版本为3.5.2。
这个
tornado.stack_context模块已弃用,将在Tornado 6.0中删除。原因是,在存在async def本地协程。ExceptionStackContext主要是由于协程而过时的。StackContext虽然新的contextvars包(在python标准库中,从python 3.7开始)可能是另一种选择。面向回调的代码通常依赖于
ExceptionStackContext处理错误,防止连接泄漏。为了避免暗中引入细微泄漏的风险(并巩固龙卷风共线模式后的所有界面)。callback整个包中的参数已弃用,将在版本6.0中删除。所有具有callback移除的参数现在返回Future应该用它来代替。在可能的情况下,当使用这些已弃用的接口时,将发出弃用警告。但是,默认情况下,python不显示取消预测警告。要为Tornado 6.0准备应用程序,请使用
-Wd参数或设置环境变量PYTHONWARNINGS到d. 如果您的应用程序运行在python 3上时没有警告,那么它应该能够在不中断的情况下移动到tornado 6.0。
tornado.auth¶
OAuthMixin._oauth_get_user_future现在可能是一个本土的连体衣。所有
callback此包中的参数已弃用,将在6.0中删除。而是使用协程接口。这个
OAuthMixin._oauth_get_user方法已弃用,将在6.0中删除。重写_oauth_get_user_future相反。
tornado.autoreload¶
如果内部自动加载触发,则现在保留命令行自动加载包装。
当与内部自动加载结合使用时,命令行包装器不再在Windows上启动重复的进程。
tornado.concurrent¶
run_on_executor现在回报Future与兼容的对象await.这个
callback参数run_on_executor已弃用,将在6.0中删除。return_future已弃用,将在6.0中删除。
tornado.gen¶
此模块的某些旧部分已弃用,将在6.0中删除。这包括
engine,YieldPoint,Callback,Wait,WaitAll,MultiYieldPoint和Task.功能装饰
@gen.coroutine将不再接受callback6.0中的参数。
tornado.httpclient¶
行为
raise_error=False正在6.0中更改。目前,它会抑制所有错误;在6.0中,它只会抑制由于完成了包含非200状态代码的响应而引发的错误。这个
callback参数AsyncHTTPClient.fetch已弃用,将在6.0中删除。tornado.httpclient.HTTPError已重命名为HTTPClientError为了避免代码中的歧义,必须处理tornado.web.HTTPError. 旧名称保留为别名。tornado.curl_httpclient现在在用户名和密码参数中支持非ASCII字符。.HTTPResponse.request_time现在的行为是一致的simple_httpclient和curl_httpclient,不包括在max_clients两种情况下的队列(以前这一次包括在simple_httpclient但排除在curl_httpclient)在这两种情况下,时间现在都是用一个单调的时钟来计算的。HTTPResponse现在有一个start_time记录挂钟的属性 (time.time)请求开始的时间戳(离开max_clients排队(如果适用)。
tornado.httputil¶
parse_multipart_form_data现在识别RFC2231/5987中的非ASCII文件名 (filename*=)格式。HTTPServerRequest.write已弃用,将在6.0中删除。使用的方法request.connection相反。格式不正确的HTTP头现在记录的声音更少。
tornado.ioloop¶
PeriodicCallback现在支持jitter参数随机改变超时。IOLoop.set_blocking_signal_threshold,IOLoop.set_blocking_log_threshold,IOLoop.log_stack和IOLoop.handle_callback_exception已弃用,将在6.0中删除。修正了
KeyError在里面IOLoop.close什么时候?IOLoop正在多个线程中打开和关闭对象。
tornado.iostream¶
所有
callback此模块中的参数已弃用,除了BaseIOStream.set_close_callback. 它们将在6.0中移除。streaming_callback论据BaseIOStream.read_bytes和BaseIOStream.read_until_close已弃用,将在6.0中删除。
tornado.netutil¶
改进了与GNU Hurd的兼容性。
tornado.options¶
tornado.options.parse_config_file现在允许将选项设置为字符串(其解析方式与tornado.options.parse_command_line)除了为选项指定的类型之外。
tornado.platform.twisted¶
TornadoReactor和TwistedIOLoop已弃用,将在6.0中删除。相反,Tornado将始终使用Asyncio事件循环,Twisted也可以配置为这样做。
tornado.stack_context¶
这个
tornado.stack_context模块已弃用,将在6.0中删除。
tornado.testing¶
AsyncHTTPTestCase.fetch现在需要一个raise_error争论。这个论点的语义与AsyncHTTPClient.fetch,但默认为false,因为测试通常需要处理非200个响应(以及向后兼容性)。这个
AsyncTestCase.stop和AsyncTestCase.wait方法已弃用。
tornado.web¶
新方法
RequestHandler.detach可以从没有装饰的方法中使用@asynchronous(装饰师被要求使用self.request.connection.detach().RequestHandler.finish和RequestHandler.render现在回来Futures它可以用于等待响应的最后一部分发送到客户机。FallbackHandler现在电话on_finish为了可能覆盖它的子类的利益。这个
asynchronousdecorator已弃用,将在6.0中删除。这个
callback参数RequestHandler.flush已弃用,将在6.0中删除。
tornado.websocket¶
当启用压缩时,内存限制现在应用于数据的后解压缩大小,以防止DoS攻击。
websocket_connect现在支持子协议。WebSocketHandler和WebSocketClientConnection现在有selected_subprotocol属性以查看正在使用的子协议。这个
WebSocketHandler.select_subprotocol如果客户端没有请求子协议,则现在使用空列表调用方法,而不是使用包含空字符串的列表。WebSocketHandler.open现在可能是紧身连衣裤。这个
data参数WebSocketHandler.ping现在是可选的。客户端WebSocket连接一次不再缓冲内存中的多条消息。
异常日志记录现在使用
RequestHandler.log_exception.
tornado.wsgi¶
WSGIApplication和WSGIAdapter已弃用,将在Tornado 6.0中删除。