This document describes the current stable version of Kombu (5.3). For development docs, go here.

Resource Management - kombu.resource

Generic resource pool implementation.

class kombu.resource.LifoQueue(maxsize=0)[source]

Last in first out version of Queue.

class kombu.resource.Resource(limit=None, preload=None, close_after_fork=None)[source]

Pool of resources.

exception LimitExceeded

Limit exceeded.

acquire(block=False, timeout=None)[source]

Acquire resource.

Arguments:

block (bool): If the limit is exceeded,

then block until there is an available item.

timeout (float): Timeout to wait

if block is true. Default is None (forever).

raises LimitExceeded:

if block is false and the limit has been exceeded.:

close_after_fork = False
close_resource(resource)[source]
collect_resource(resource)[source]
force_close_all(close_pool=True)[source]

Close and remove all resources in the pool (also those in use).

Used to close resources from parent processes after fork (e.g. sockets/connections).

Arguments:

close_pool (bool): If True (default) then the pool is marked

as closed. In case of False the pool can be reused.

property limit
prepare(resource)[source]
release(resource)[source]
release_resource(resource)[source]
replace(resource)[source]

Replace existing resource with a new instance.

This can be used in case of defective resources.

resize(limit, force=False, ignore_errors=False, reset=False)[source]
setup()[source]