Simple, light and nearly featureless database connection pool
Project description
DBCP Lite
A simple, light and nearly featureless database connection pool for Python.
Connections are added to the pool as needed up to max_size in number.
Once added the connections will remain in the pool and no attempt is made
to shrink the pool. In most cases it is recommended to set
min_size == max_size.
Usage
import cx_Oracle
from dbcp_lite import DBConnectionPool
connect_args = ('scott', 'tiger', 'dbhost.example.com/orcl')
pool = DBConnectionPool(cx_Oracle.connect,
create_args=connect_args,
create_kwargs={'threaded': False},
min_size=1,
max_size=4,
name='scott@orcl')
with pool.acquire() as connection:
...
with pool.acquire_cursor() as cursor:
...
pool.close()
The acquire_cursor() is a convenience method that returns a Cursor using a
Connection from the pool. Upon successful completion commit() will be
called on the Connection and the Cursor will be closed.
Timeouts
A timeout can be provided to various methods. If no connections are available to
be acquired or closed the methods will raise a PoolTimeout exception.
Lifecycle Methods
The following lifecycle methods are called during normal operations and alternate implementations can be provided if needed to perform specialized setup or cleanup.
on_acquire(self, connection) - no-op
on_return(self, connection) - default implementation calls connection.rollback()
on_close(self, connection) - default implementation calls connection.close()
For example, to implement auto-commit:
pool = ...
pool.on_return = lambda x: x.commit()
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 Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dbcp-lite-0.0.2.tar.gz.
File metadata
- Download URL: dbcp-lite-0.0.2.tar.gz
- Upload date:
- Size: 8.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.8.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
508e3e8e8ba20f9bf0b2f1e6bb6d7c0757866b16bdd6cbc1b2bda2a440c7b31c
|
|
| MD5 |
cf7a561b5c9ccc087d24d7593a6cbb4c
|
|
| BLAKE2b-256 |
f47235453c6f2a00de2d1039ed630d12b0dc2d1578468e10c743fc67fb7e5728
|
File details
Details for the file dbcp_lite-0.0.2-py3-none-any.whl.
File metadata
- Download URL: dbcp_lite-0.0.2-py3-none-any.whl
- Upload date:
- Size: 8.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.8.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3c9a1d991257d24d6128fbebafbf8fc6799300e87b533c5664f18a0bb290bbf6
|
|
| MD5 |
c2b49c0d508934f6a8f4e5e0454cb3fd
|
|
| BLAKE2b-256 |
129a053bf09a696fa0fdb9b5d61241bb5ef2c70c27c60b168da06a3a0169d1ea
|