Tornado asynchronous MySQL Driver
Project description
TorMySQL
The highest performance asynchronous MySQL driver.
PyPI page: https://pypi.python.org/pypi/tormysql
About
Presents a Future-based API and greenlet for non-blocking access to MySQL.
Installation
pip install TorMySQL
Used Tornado
example pool
from tornado.ioloop import IOLoop from tornado import gen import tormysql pool = tormysql.ConnectionPool( max_connections = 20, #max open connections idle_seconds = 7200, #conntion idle timeout time, 0 is not timeout wait_connection_timeout = 3, #wait connection timeout host = "127.0.0.1", user = "root", passwd = "TEST", db = "test", charset = "utf8" ) @gen.coroutine def test(): with (yield pool.Connection()) as conn: try: with conn.cursor() as cursor: yield cursor.execute("INSERT INTO test(id) VALUES(1)") except: yield conn.rollback() else: yield conn.commit() with conn.cursor() as cursor: yield cursor.execute("SELECT * FROM test") datas = cursor.fetchall() print datas yield pool.close() ioloop = IOLoop.instance() ioloop.run_sync(test)
example helpers
from tornado.ioloop import IOLoop from tornado import gen import tormysql pool = tormysql.helpers.ConnectionPool( max_connections = 20, #max open connections idle_seconds = 7200, #conntion idle timeout time, 0 is not timeout wait_connection_timeout = 3, #wait connection timeout host = "127.0.0.1", user = "root", passwd = "TEST", db = "test", charset = "utf8" ) @gen.coroutine def test(): tx = yield pool.begin() try: yield tx.execute("INSERT INTO test(id) VALUES(1)") except: yield tx.rollback() else: yield tx.commit() cursor = yield pool.execute("SELECT * FROM test") datas = cursor.fetchall() print datas yield pool.close() ioloop = IOLoop.instance() ioloop.run_sync(test)
Used asyncio alone
example pool
from asyncio import events import tormysql pool = tormysql.ConnectionPool( max_connections = 20, #max open connections idle_seconds = 7200, #conntion idle timeout time, 0 is not timeout wait_connection_timeout = 3, #wait connection timeout host = "127.0.0.1", user = "root", passwd = "TEST", db = "test", charset = "utf8" ) async def test(): async with await pool.Connection() as conn: try: async with conn.cursor() as cursor: await cursor.execute("INSERT INTO test(id) VALUES(1)") except: await conn.rollback() else: await conn.commit() async with conn.cursor() as cursor: await cursor.execute("SELECT * FROM test") datas = cursor.fetchall() print(datas) await pool.close() ioloop = events.get_event_loop() ioloop.run_until_complete(test)
example helpers
from asyncio import events import tormysql pool = tormysql.helpers.ConnectionPool( max_connections = 20, #max open connections idle_seconds = 7200, #conntion idle timeout time, 0 is not timeout wait_connection_timeout = 3, #wait connection timeout host = "127.0.0.1", user = "root", passwd = "TEST", db = "test", charset = "utf8" ) async def test(): async with await pool.begin() as tx: await tx.execute("INSERT INTO test(id) VALUES(1)") cursor = await pool.execute("SELECT * FROM test") datas = cursor.fetchall() print(datas) await pool.close() ioloop = events.get_event_loop() ioloop.run_until_complete(test)
Resources
You can read PyMySQL Documentation online for more information.
License
TorMySQL uses the MIT license, see LICENSE file for the details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
Close
Hashes for zoom_tormysql-0.4.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e936c7825b9e4f07b8db241a47e26a5c2b696649b23af05197a13a17fab1ec96 |
|
MD5 | 1a7b0400c760fec30449473f27fb30b6 |
|
BLAKE2b-256 | 333ff971e9e07493383a060b39bd893cf7c02979a9058972640d65a8919d67f8 |