请教 peewee 与 异步mysql库 tornado_mysql的整合问题
想要在tornado项目中实现mysql 异步,找了几个mysql异步的库,本来使用ORM peewee 和pymyql 实现mysq操作,但是是同步的,现在想要使用异步的mysql库(tornado_mysql) 不知道有没有高人用过?请教一下该如何实现?
想要保留peewee,想实现peewee与tornado_mysql(异步mysql 库) 整合。
如果不用peewee 项目很多部分就要重写了。。各位大侠求帮助。。。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
可以参考一下我的项目 gTornado, 不用改代码,实现 orm的异步并发
http://git.oschina.net/alex8224/gtornado
计划增加 peewee的支持
感谢你的回答,目前我是用了数据库连接池(playhouse.pool.pooledMySQLDatabase)的方式来减少并发带来的影响。 有考虑过ThreadPoolExecutor 但是丢出太多线程对服务器压力会不会太大?所以才会去考虑从源头的mysql异步操作。。
回复
你可以继续使用ORM内部的连接池,只是把上层的涉及数据库操作的函数封装后供Tornado使用。
不要想着在异步网络引擎如Tornado中直接使用ORM技术,参见http://www.tornadoweb.org/en/stable/faq.html#why-isn-t-this-example-with-time-sleep-running-in-parallel
用Task,线程池等封装后供Tornado调用。