object_pool

thread-safe python object pool


License
MIT
Install
pip install object_pool==0.2

Documentation

object_pool

object_poll is a simple thread-safe generic python object pool. Typical use:

import memcache
import object_pool

memcache_pool = ObjectPool(lambda: memcache.Client(['127.0.0.1:11211']), max_size=10)
with memcache_pool.item() as memcache:
    memcache.set(b'key', b'value')

The with statement is not required:

try:
    memcache = memcache_pool.get()
finally:
    memcache_pool.put(memcache)

It supports a timeout argument as well:

try:
    memcache = memcache_pool.get(timeout=1.0)
except ObjectPoolTimeout:
    import logging
    logging.warning('timed out trying to get memcache connection')