Tornado 4.5的新功能¶
2017年4月16日¶
向后兼容性警告¶
这个
tornado.websocket模块现在对传入消息的大小施加限制,默认为10mib。
新模块¶
tornado.routing提供比内置路由系统更灵活的路由系统Application.
一般变化¶
减少了循环引用的数量,减少了内存使用并提高了性能。
tornado.auth¶
这个
tornado.authmodule 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 目录。
一个新的
TCPClientandTCPServerdemo is available in the tcpecho 目录。已经对几个现有演示进行了小更新,包括对jquery的更新。
信用¶
以下人员对此版本做出了贡献:
A杰西·杰瑞·戴维斯
亚伦欧普尔
山崎明弘
亚力山大
安德烈亚斯·R·斯达尔
安得烈拉伯特
安得烈苏敏
安托万皮特里
安托万皮托
阿图尔·斯塔维阿尔斯基
本·达奈尔
布瑞恩梅戈
达里奥
道格巴尔加斯
尤金杜博维
伊夫乔达尔
JZQT
杰姆斯迈尔
亨特
莱诺斯
马克·亨德森
迈克尔诉德帕拉蒂斯
闵瑞克
米尔恰
发出砰的声响
平阳
里卡多·马格里奥切蒂
塞缪尔陈
塞缪尔·迪翁·吉拉多
斯科特·梅斯堡
肖恩丁
TaoBeier
托马斯克鲁伊弗
瓦迪姆塞门诺夫
马蒂
MIKE820324
细高跟鞋
知民
附带条件