摘要:对,并不是非阻塞的快,而且开发的快,极适合做前后端分离以传递数据的模式。的选择既不简洁又缺乏一致性,但建表重连包装连接池这些总得有人做。缩短重连时间因为超时时间比的通用配置要短,所以的重连时间也必须同步,否则会报的数据库错误。
对程序员来说,新浪云SAE无疑是国内最好的PaaS平台,实名认证和绑定移动端得到的免费云豆,可以让你在做出一款能抬起头的应用之前不愁吃喝。
所以这一年里做过的网站和应用,第一个版本都是起于SAE。
对于Python的网络框架,小2原本专攻大路货Django,工作中被一高手点醒后,开始迷醉于Tornado的快。对,并不是非阻塞的快,而且开发的快,极适合做前后端分离、以JSON传递数据的模式。
人老怕忘,随手记记Tornado在SAE上的坑。
sqlalchemy既不简洁又缺乏一致性,但建表、重连、SQL包装、连接池这些dirty job总得有人做。sqlalchemy的使用必须注意以下问题:
连接的创建和关闭
因为SAE的MySQL超时时间设置得很短(10秒左右),因此在网络连接关闭的时候必须同时关闭数据库连接。最好的办法是都继承一个BaseHandler。
pythonclass BaseHandler(tornado.web.RequestHandler): def initialize(self): self.session = DB_Session() def on_finish(self): self.session.close()
缩短重连时间
因为超时时间比MySQL的通用配置要短,所以sqlalchemy的重连时间也必须同步,否则会报「MySQL has gone away」的2006数据库错误。我的配置仅供参考:
pythonengine = create_engine(db_config, pool_recycle=5, poolclass=NullPool)secure_cookie
一般都会选择Tornado的secure_cookie作为账号的惟一凭证,上线必须找一个不改变(重新部署后之前的cookie不失效)也不容易让外人得知的字符串做密钥。我应用的secret_key:
pythoncookie_secret = "test" if debug else sae.const.SECRET_KEY日志
SAE的logging默认级别是warning,所以logging.info("")是不会生效的,最好在入口处设置:
pythonlogging.basicConfig(level=logging.INFO)
余不一一,GitHub传送门:SAETornado。
来自:建造者说
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/45335.html
摘要:网络可用性更多的会依赖电信运营商的服务能力。目前网络接入支持电信联通教育移动等,真正实现了国内大的运营商网络的覆盖,这在国内是很罕见的。 一、可用性如何定义 可用性(availability)是关于系统可供使用时间的表述,以不可用的时间为衡量指标。不可用时间越短,可用性越高。通常用n个9来描述。比如4个9的可用性,则是指一年中不可用时间在52分钟内,平均每周不可用时间在1分钟。 可靠性...
摘要:是一个开源的微信公众号企业号接口,使用调用微信公众号从未如此简单。截屏进阶使用企业号配置在配置时设置而非即可。另,由于企业号没有明文模式,所以必须将加密模式设置为安全。同样,删除以后就变回了线程池版本。 itchatmp showImg(https://segmentfault.com/img/remote/1460000005658808);showImg(https://segme...
阅读 692·2023-04-25 17:54
阅读 2895·2021-11-18 10:02
阅读 1108·2021-09-28 09:35
阅读 615·2021-09-22 15:18
阅读 2801·2021-09-03 10:49
阅读 2986·2021-08-10 09:42
阅读 2532·2019-08-29 16:24
阅读 1230·2019-08-29 15:08