是否有任何可在 Tornado 上用于支持事务的 MySQL 异步驱动程序/模块? 我正在用 MySQL 作为数据库编写 Tornado 应用程序。我用谷歌搜索并找到 https://github.com/woshifyz/tornado-mysql
https://github.com/hybridlogic/txMySQL
但不支持事务。
最佳答案
Tornado 自己的数据库模块支持事务就好了。
class Application(tornado.web.Application):
def __init__(self):
handlers = [
(r'/', someHandler),
]
tornado.web.Application.__init__(self, handlers)
self.db = tornado.database.Connection(
host=mysql_host, database=mysql_db,
user=mysql_user, password=mysql_password)
# ----------------------
class someHandler(tornado.web.RequestHandler):
def get(self):
# ...
try:
self.application.db.execute('START TRANSACTION')
row = self.application.db.get("SELECT ...", ...)
# ...
self.application.db.execute("INSERT ...", ...)
self.application.db.execute("COMMIT")
except Exception, e:
self.set_status(500)
return
# ...
但是,它不支持异步调用。
更新(2015 年 5 月)
主题的几个更新。
- Tonado 的数据库驱动程序被排除在项目之外。它作为名为 torndb 的单独库提供(可用 here )。
- 可能会对这些项目感兴趣:TorMySQL , Tornado-MySQL , AsyncTorndb .
关于mysql - 是否有任何可在 Tornado 上用于支持事务的 MySQL 异步驱动程序/模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17949776/