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中使用时,使用-Wd
python命令行标志或环境变量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
已被删除。