GAE SDK 1.5.5 版发布
这个版本最重要的更新就是支持Python 2.7了。关于Python 2.7的新功能,可以查看《What's New in Python 2.7》这篇文档。
我稍微列举一些:
- 支持多线程。可以使用threading库。
- 支持并发请求。在app.yaml中设置threadsafe: true即可启用,必须使用WSGI接口(直接在app.yaml里设置WSGI application对象的路径,而非Python文件)。
- 可以访问bytecode。使用jinja2之类的模版库时,可以将模版编译成字节码;但以前不能保存这些字节码到本地文件系统,现在则没有限制了。
- 可以上传bytecode(.pyc文件)。
- 支持部分C库。
同时也需要注意下面几点:
- 只支持High Replication datastore。
- 更新了部分库的版本,可能存在兼容性问题。
- 禁用了quota.get_request_cpu_usage()。
- 不支持zipimport,但可以直接从.zip文件中import。
- app.yaml中的runtime更改为python27。
对我来说最重要的是支持PIL了,这样就不愁生成验证码了。恼火的是必须用HR datastore,老应用还必须迁移。
有空还得看看webapp2和WebOb 1.1的源码,也许YUI还需要更新。
而在支持并发请求的同时,全局对象就不安全了,而我在Doodle中用到的os.environ和hook还得重新考虑。
另外还支持SetupTools了,不知道可以用它装些什么玩意。
不过目前还没有出Release Notes目前已出Release Notes,部分更新如下:
- 前台请求的最长时间从30秒增加到60秒(后台请求仍为10分钟),URLFetch请求的时间从10秒增加到60秒。
- 最大上传文件数从3000增加到10000,最大文件大小从10MB增加到32MB。
- URLFetches的POST参数大小从1MB增加到5MB。
- 支持Cross Group (XG) Transactions(跨组事务),可以在处理一个事务时,通过2步提交的方式,来支持不同实体组(最多5个)的实体。只支持HR datastore。使用时需要用到db.create_transaction_options()和db.run_in_transaction_options()这2个函数。
- 新增Google Cloud Storage API。除了比REST API易用以外,貌似GAE到GCS之间的传输不通过URLFetch,也就没有文件大小的限制了(不过还得计算GCS的流量)。
- 管理员控制台可以查看billed instances图形。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。