Tornado 6.0的新功能¶
2019年3月1日¶
向后不兼容的更改¶
不再支持python 2.7和3.4;支持的最低python版本为3.5.2。
Tornado 5.1中不推荐使用的API已被删除。这包括
tornado.stack_context模块与多数callback整个包中的参数。所有删除的API都已发出DeprecationWarning当在Tornado 5.1中使用时,使用-Wdpython命令行标志或环境变量PYTHONWARNINGS=d应该告诉您您的应用程序是否准备好移动到Tornado 6.0。.WebSocketHandler.get现在是协程,必须在重写此方法的任何子类中相应地调用(但请注意,重写get不推荐;或者prepare或open应改为使用)。
一般变化¶
Tornado现在包含与
mypy. 这些注释将在使用mypy可以在编辑器和其他工具中使用。Tornado现在在内部使用本地协同程序,提高了性能。
tornado.auth¶
所有
callback已删除此包中的参数。而是使用协程接口。这个
OAuthMixin._oauth_get_user方法已被删除。重写_oauth_get_user_future相反。
tornado.concurrent¶
这个
callback参数run_on_executor已删除。return_future已删除。
tornado.gen¶
此模块的某些旧部分已被删除。这包括
engine,YieldPoint,Callback,Wait,WaitAll,MultiYieldPoint和Task.功能装饰
@gen.coroutine不再接受callback争论。
tornado.httpclient¶
行为
raise_error=False改变了。现在只抑制由已完成的带有非200状态代码的响应引起的错误(以前它抑制了所有错误)。这个
callback参数AsyncHTTPClient.fetch已删除。
tornado.httputil¶
HTTPServerRequest.write已删除。使用的方法request.connection相反。未被承认的
Content-Encoding值现在只记录我们试图分析的内容类型的警告。
tornado.ioloop¶
IOLoop.set_blocking_signal_threshold,IOLoop.set_blocking_log_threshold,IOLoop.log_stack和IOLoop.handle_callback_exception已被删除。改进的性能
IOLoop.add_callback.
tornado.iostream¶
所有
callback此模块中的参数已被删除,除了BaseIOStream.set_close_callback.streaming_callback论据BaseIOStream.read_bytes和BaseIOStream.read_until_close已被删除。消除了不必要的“errno 0”日志记录。
tornado.log¶
此模块打开的日志文件现在显式设置为UTF-8编码。
tornado.netutil¶
结果
getaddrinfo现在按地址族排序,以避免部分失败和死锁。
tornado.platform.twisted¶
TornadoReactor和TwistedIOLoop已被删除。
tornado.simple_httpclient¶
默认HTTP客户端现在支持
network_interface请求参数以指定连接的源IP。如果服务器返回3xx响应代码而没有
Location头,直接引发或返回响应,而不是尝试或未能遵循重定向。当跟踪重定向时,除
POST将不再转化为GET请求。301(永久)重定向现在的处理方式与302(临时)和303(参见其他)重定向在这方面的处理方式相同。以下重定向现在可用于
body_producer.
tornado.stack_context¶
这个
tornado.stack_context模块已移除。
tornado.tcpserver¶
TCPServer.start现在支持max_restarts参数(与fork_processes)
tornado.testing¶
AsyncHTTPTestCase现在将所有引用放到Application在期间tearDown允许更快地回收内存。AsyncTestCase现在取消所有待定协同程序tearDown为了减少来自python运行时关于协同程序的警告,这些协同程序没有被等待。注意这可能导致asyncio.CancelledError在其他地方登录。期望在测试关闭时运行的协程可能需要捕获这个异常。
tornado.web¶
这个
asynchronous装饰器已被移除。这个
callback参数RequestHandler.flush已删除。StaticFileHandler现在支持Range并返回一个适当的错误end > start.现在可以设置
expires_days在里面xsrf_cookie_kwargs.
tornado.websocket¶
连接关闭时发送的ping和其他消息现在会自动删除,而不是记录异常。
由引发的错误
open()当此方法是协程时,现在可以正确捕获。
tornado.wsgi¶
WSGIApplication和WSGIAdapter已被删除。