トランザクションをサポートするために Tornado で使用できる MySQL 用の非同期ドライバー/モジュールはありますか? MySQL をデータベースとして Tornado アプリを作成しています。私はグーグルで見つけました https://github.com/woshifyz/tornado-mysql
https://github.com/hybridlogic/txMySQL
ただし、トランザクションはサポートされていません。
トランザクションをサポートするために 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 月)
トピックへのいくつかの更新。