2018 年 python2.7+ tornado 连 mysql 的最佳实践是啥?

2018-05-29 21:11:23 +08:00
 fyooo
torndb 不维护了 ( https://github.com/bdarnell/torndb)

peewee-async 只支持 Python 3.4+ ( http://peewee-async.readthedocs.io/en/latest/)

AsyncTorndb 也是 4 年前的代码 了 ( https://github.com/mayflaver/AsyncTorndb)
4073 次点击
所在节点    Python
11 条回复
ericls
2018-05-29 21:13:17 +08:00
run in executor
phithon
2018-05-29 21:52:05 +08:00
古代的东西配古代的库,应该不会出什么 BUG 吧,就用 torndb 呗。
chenqh
2018-05-29 22:13:30 +08:00
感觉 tornado 已经死了,关键是 py3 的异步 web 框架不知道选哪个好,郁闷
mywaiting
2018-05-29 22:45:27 +08:00
就用 torndb 没啥事的,不过也就别想着异步啥啥啥就可以了

感觉 py3 的异步已经快要成为 js callback 那样了,遍地都是 async,看得心烦

最近有些项目用到了 Nginx + Lua/njs 特别是 lua,从此告别各种异步的概念,一股脑丢 nginx 自己搞,而且在 nginx 强大的架构下,从此告别各种语言论战下的性能问题,毕竟 Nginx + lua 几乎是等同于在写纯 C 的性能了,在单纯 web 应用下的架构,我觉得没有什么比这个的性能更高的了

@chenqh 懂 flask 的话,投奔 aiohttp 去不会错,在 uvloop 的强大的续命技能下,领跑个三五年没问题
zsj950618
2018-05-30 00:55:30 +08:00
首先都 8102 年了,怎么还是 python 2 ??
alphadog619
2018-05-30 09:08:31 +08:00
Sanic 了解一下?
fyooo
2018-05-30 10:26:43 +08:00
@zsj950618 接手前人的项目,python2 和 3 我没得选

@alphadog619 sanic 也是基于 python3 的吧,而前人项目是 python2+tornado 的
myyou
2018-05-30 11:03:23 +08:00
@fyooo 逐渐替换,新代码写在新项目中,老项目还维持运转,以后逐渐迁移老项目
bnm965321
2018-05-30 12:54:51 +08:00
tornado5.0 默认使用 asyncio eventloop,可以使用 asyncio 的一切异步库
fyooo
2018-05-30 14:52:38 +08:00
@bnm965321

貌似不行吧,根据官方指引: http://peewee-async.readthedocs.io/en/latest/peewee_async/tornado.html

```
async def post(self):
name = self.get_argument('name')
obj = await self.application.objects.create(TestNameModel, name=name)
```

里面的 `async`, `await` 都是 python3 的语法
bnm965321
2018-06-03 23:36:38 +08:00
@fyooo 对,我没注意到你还在用 python2

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/458761

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX