- 3.59.0 (latest)
 - 3.58.0
 - 3.57.0
 - 3.56.0
 - 3.55.0
 - 3.54.0
 - 3.53.0
 - 3.52.0
 - 3.51.0
 - 3.50.1
 - 3.46.0
 - 3.45.0
 - 3.44.0
 - 3.43.0
 - 3.42.0
 - 3.41.0
 - 3.40.1
 - 3.39.0
 - 3.38.0
 - 3.37.0
 - 3.36.0
 - 3.35.1
 - 3.34.0
 - 3.33.0
 - 3.32.0
 - 3.31.0
 - 3.30.0
 - 3.29.0
 - 3.28.0
 - 3.27.1
 - 3.26.0
 - 3.25.0
 - 3.24.0
 - 3.23.0
 - 3.22.2
 - 3.21.0
 - 3.20.0
 - 3.19.0
 - 3.18.0
 - 3.17.0
 - 3.16.0
 - 3.15.1
 - 3.14.1
 - 3.13.0
 - 3.12.1
 - 3.11.1
 - 3.10.0
 - 3.9.0
 - 3.8.0
 - 3.7.0
 - 3.6.0
 - 3.5.0
 - 3.4.0
 - 3.3.0
 - 3.2.0
 - 3.1.0
 - 3.0.0
 - 2.1.1
 - 2.0.0
 - 1.19.3
 - 1.18.0
 - 1.17.1
 - 1.16.0
 - 1.15.1
 - 1.14.0
 - 1.13.0
 - 1.12.0
 - 1.11.0
 - 1.10.0
 
Pools managing shared Session objects.
Classes
AbstractSessionPool
AbstractSessionPool(labels=None)Specifies required API for concrete session pool implementations.
| Parameter | |
|---|---|
| Name | Description | 
labels | 
        
          dict (str -> str) or None
          (Optional) user-assigned labels for sessions created by the pool.  | 
      
BurstyPool
BurstyPool(target_size=10, labels=None)Concrete session pool implementation:
"Pings" existing sessions via
session.existsbefore returning them.Creates a new session, rather than blocking, when
getis called on an empty pool.Discards the returned session, rather than blocking, when
putis called on a full pool.
| Parameters | |
|---|---|
| Name | Description | 
target_size | 
        
          int
          max pool size  | 
      
labels | 
        
          dict (str -> str) or None
          (Optional) user-assigned labels for sessions created by the pool.  | 
      
FixedSizePool
FixedSizePool(size=10, default_timeout=10, labels=None)Concrete session pool implementation:
Pre-allocates / creates a fixed number of sessions.
"Pings" existing sessions via
session.existsbefore returning them, and replaces expired sessions.Blocks, with a timeout, when
getis called on an empty pool. Raises after timing out.Raises when
putis called on a full pool. That error is never expected in normal practice, as users should be callinggetfollowed byputwhenever in need of a session.
| Parameters | |
|---|---|
| Name | Description | 
size | 
        
          int
          fixed pool size  | 
      
default_timeout | 
        
          int
          default timeout, in seconds, to wait for a returned session.  | 
      
labels | 
        
          dict (str -> str) or None
          (Optional) user-assigned labels for sessions created by the pool.  | 
      
PingingPool
PingingPool(size=10, default_timeout=10, ping_interval=3000, labels=None)Concrete session pool implementation:
Pre-allocates / creates a fixed number of sessions.
Sessions are used in "round-robin" order (LRU first).
"Pings" existing sessions in the background after a specified interval via an API call (
session.ping()).Blocks, with a timeout, when
getis called on an empty pool. Raises after timing out.Raises when
putis called on a full pool. That error is never expected in normal practice, as users should be callinggetfollowed byputwhenever in need of a session.
The application is responsible for calling ping at appropriate
times, e.g. from a background thread.
| 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.  | 
      
SessionCheckout
SessionCheckout(pool, **kwargs)Context manager: hold session checked out from a pool.
| Parameter | |
|---|---|
| Name | Description | 
pool | 
        
          concrete subclass of AbstractSessionPool
          Pool from which to check out a session.  | 
      
TransactionPingingPool
TransactionPingingPool(
    size=10, default_timeout=10, ping_interval=3000, labels=None
)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.
| 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.  |