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
将不再接受callback
6.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
为了可能覆盖它的子类的利益。这个
asynchronous
decorator已弃用,将在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中删除。