Tornado 4.5的新功能¶
2017年4月16日¶
向后兼容性警告¶
这个
tornado.websocket
模块现在对传入消息的大小施加限制,默认为10mib。
新模块¶
tornado.routing
提供比内置路由系统更灵活的路由系统Application
.
一般变化¶
减少了循环引用的数量,减少了内存使用并提高了性能。
tornado.auth
¶
这个
tornado.auth
module has been updated for compatibility with a change to Facebook's access_token endpoint . 这包括最初在龙卷风4.4.3中发布的更改和支持`session_expires
新格式的字段。这个session_expires
字段当前是一个字符串;它应该作为int(user['session_expires'])
因为它将在Tornado5.0中从字符串更改为int。
tornado.autoreload
¶
tornado.concurrent
¶
抑制了关闭时可能记录的一些“nonetype”object not callback“消息。
tornado.gen
¶
yield None
现在等于yield gen.moment
.moment
被贬低。这提高了与asyncio
.修复了生成器对象可能被过早地垃圾收集的问题(通常在使用弱引用时)。
新功能
is_coroutine_function
标识由包装的函数coroutine
或engine
.
tornado.http1connection
¶
这个
Transfer-Encoding
头现在被不敏感地解析为大小写。
tornado.httpclient
¶
SimpleAsyncHTTPClient
现在进行308次重定向。CurlAsyncHTTPClient
将不再接受除http
和https
. 要覆盖此项,请设置pycurl.PROTOCOLS
和pycurl.REDIR_PROTOCOLS
在一个prepare_curl_callback
.CurlAsyncHTTPClient
现在支持通过新的proxy_auth_mode
争论。支持的最低版本
libcurl
现在是7.22.0
.
tornado.httpserver
¶
HTTPServer
现在接受关键字参数trusted_downstream
它控制的分析X-Forwarded-For
标题。此头可能是受信任代理的一个列表或一组IP地址,将在X-Forwarded-For
名单。这个
no_keep_alive
论点又起作用了。
tornado.httputil
¶
url_concat
正确处理片段和现有查询参数。
tornado.ioloop
¶
修复了回调返回空列表或dict后100%的CPU使用率。
IOLoop.add_callback
现在使用了一个无锁的实现,它可以安全地从__del__
方法。这提高了对add_callback
从IOLoop
线程,对于来自其他线程的调用稍微减少它。
tornado.iostream
¶
tornado.log
¶
彩色日志输出现在在Windows上受支持,如果 colorama 库已安装,应用程序调用
colorama.init()
在启动时。签名
LogFormatter
已更改构造函数以使其与logging.config.dictConfig
.
tornado.netutil
¶
解决了在Solaris上导致“LookupError:Unknown Encoding:Latin1”错误的问题。
tornado.process
¶
Subprocess
不再导致python 3.6上出现“subprocess still running”警告。改进的错误处理
cpu_count
.
tornado.tcpclient
¶
TCPClient
现在支持source_ip
和source_port
争论。改进了对IPv6支持不完整的环境的错误处理。
tornado.tcpserver
¶
TCPServer.handle_stream
实现现在可能是本机协程。停止一
TCPServer
两次都不再引发异常。
tornado.web
¶
tornado.websocket
¶
WebSocketHandler.on_message
实现现在可能是协同程序。在上一条消息之前,不会处理新消息on_message
连体衣已经完成了。这个
websocket_ping_interval
和websocket_ping_timeout
应用程序设置现在可用于启用WebSocket连接的定期Ping,从而允许检测和关闭断开的连接。新的
websocket_max_message_size
设置默认为10mib。如果收到大于此值的消息,则连接将关闭。按标题设置
RequestHandler.prepare
或RequestHandler.set_default_headers
现在作为WebSocket握手的一部分发送。返回值来自
WebSocketHandler.get_compression_options
现在可以包括钥匙了compression_level
和mem_level
设置gzip参数。默认的压缩级别现在是6而不是9。
演示¶
新的文件上载演示可在 file_upload 目录。
一个新的
TCPClient
andTCPServer
demo is available in the tcpecho 目录。已经对几个现有演示进行了小更新,包括对jquery的更新。
信用¶
以下人员对此版本做出了贡献:
A杰西·杰瑞·戴维斯
亚伦欧普尔
山崎明弘
亚力山大
安德烈亚斯·R·斯达尔
安得烈拉伯特
安得烈苏敏
安托万皮特里
安托万皮托
阿图尔·斯塔维阿尔斯基
本·达奈尔
布瑞恩梅戈
达里奥
道格巴尔加斯
尤金杜博维
伊夫乔达尔
JZQT
杰姆斯迈尔
亨特
莱诺斯
马克·亨德森
迈克尔诉德帕拉蒂斯
闵瑞克
米尔恰
发出砰的声响
平阳
里卡多·马格里奥切蒂
塞缪尔陈
塞缪尔·迪翁·吉拉多
斯科特·梅斯堡
肖恩丁
TaoBeier
托马斯克鲁伊弗
瓦迪姆塞门诺夫
马蒂
MIKE820324
细高跟鞋
知民
附带条件