This document describes the current stable version of Kombu (4.0). 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.

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

Acquire resource.

Parameters:
  • 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.

Resource.close_after_fork = False
Resource.close_resource(resource)[source]
Resource.collect_resource(resource)[source]
Resource.force_close_all()[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).

Resource.limit
Resource.prepare(resource)[source]
Resource.release(resource)[source]
Resource.release_resource(resource)[source]
Resource.replace(resource)[source]

Replace existing resource with a new instance.

This can be used in case of defective resources.

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