Class TransactionPingingPool

Concrete session pool implementation:

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.

Inheritance

builtins.object > AbstractSessionPool > PingingPool > TransactionPingingPool

Methods

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
NameDescription
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
NameDescription
session Session

the session being returned.

Exceptions
TypeDescription
`queue.Fullif the queue is full.