AsyncIO connection pool for RethinkDB
async-repool is a Python library which provides a asyncio-based connection pool management for accessing a RethinkDB database.
async-repool creates and maintains a configurable pool of active connection to a RethinkDB database. These connections are then available individually through a basic API.
Internally, repool uses the Python AsyncIO Queue class which is not thread-safe. This means that the same connection pool cannot be share between several threads, please, use asyncio with process workers instead.
This is just asyncio-based clone of repool.
async-repool is available as a python library on Pypi. Installation is very simple using pip :
$ pip install async_repool
This will install
async-repool as well as rethinkdb dependency.
A new connection pool using default connection configurations can simply be created by:
from async_repool import AsyncConnectionPool pool = AsyncConnectionPool(dict()) # Required argument is kwargs for R.connect function await pool.init_pool() conn = await pool.acquire() #returns a Connection instance await r.table('heroes').run(conn) #do RethinkDB stuff # ... pool.release(conn) #put back connection to the pool await pool.release_pool() #release pool (close rethinkdb connections) # ... async with pool.connect() as conn1: # do something with conn1 # pool.release(conn1) is automatically called after leaving the with code block
AsyncConnectionPool creation accepts a number of optional arguments:
pool_size: set the pool size, ie. the number of connections opened simultaneously (default=3).
connection_ttl: set the connection time to live. Connections older than TTL are automatically closed and re-opened when acquire (default=3600 seconds, set to 0 for disable)
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size & hash SHA256 hash help||File type||Python version||Upload date|
|async_repool-0.3.1-py2.py3-none-any.whl (5.4 kB) Copy SHA256 hash SHA256||Wheel||py2.py3||May 30, 2018|