This document is for Kombu's development version, which can be significantly different from previous releases. Get the stable docs here: 5.0.

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.

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.

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

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]