TransactionPingingPool(
size=10, default_timeout=10, ping_interval=3000, labels=None, database_role=None
)
Concrete session pool implementation:
Deprecated: TransactionPingingPool no longer begins a transaction for each of its sessions at startup.
Hence the TransactionPingingPool is same as PingingPool
and maybe removed in the future.
In addition to the features of PingingPool
, this class
creates and begins a transaction for each of its sessions at startup.
When a session is returned to the pool, if its transaction has been
committed or rolled back, the pool creates a new transaction for the
session and pushes the transaction onto a separate queue of "transactions
to begin." The application is responsible for flushing this queue
as appropriate via the pool's begin_pending_transactions
method.
Parameters | |
---|---|
Name | Description |
size |
int
fixed pool size |
default_timeout |
int
default timeout, in seconds, to wait for a returned session. |
ping_interval |
int
interval at which to ping sessions. |
labels |
dict (str -> str) or None
(Optional) user-assigned labels for sessions created by the pool. |
database_role |
str
(Optional) user-assigned database_role for the session. |
Methods
TransactionPingingPool
TransactionPingingPool(
size=10, default_timeout=10, ping_interval=3000, labels=None, database_role=None
)
This throws a deprecation warning on initialization.
begin_pending_transactions
begin_pending_transactions()
Begin all transactions for sessions added to the pool.
bind
bind(database)
Associate the pool with a database.
Parameter | |
---|---|
Name | Description |
database |
Database
database used by the pool to create sessions when needed. |
put
put(session)
Return a session to the pool.
Never blocks: if the pool is full, raises.
Parameter | |
---|---|
Name | Description |
session |
Session
the session being returned. |
Exceptions | |
---|---|
Type | Description |
`queue.Full | if the queue is full. |