beaker.container – Container and Namespace classes
Container and Namespace classes
Module Contents
-
class beaker.container.Container
-
class beaker.container.ContainerMeta(classname, bases, dict_)
-
class beaker.container.DBMContainer
-
class beaker.container.DBMNamespaceManager(namespace, dbmmodule=None, data_dir=None, dbm_dir=None, lock_dir=None, digest_filenames=True, **kwargs)
-
class beaker.container.FileContainer
-
class beaker.container.FileNamespaceManager(namespace, data_dir=None, file_dir=None, lock_dir=None, digest_filenames=True, **kwargs)
-
class beaker.container.MemoryContainer
-
class beaker.container.MemoryNamespaceManager(namespace, **kwargs)
-
class beaker.container.NamespaceManager(namespace)
Handles dictionary operations and locking for a namespace of
values.
The implementation for setting and retrieving the namespace data is
handled by subclasses.
NamespaceManager may be used alone, or may be privately accessed by
one or more Container objects. Container objects provide per-key
services like expiration times and automatic recreation of values.
Multiple NamespaceManagers created with a particular name will all
share access to the same underlying datasource and will attempt to
synchronize against a common mutex object. The scope of this
sharing may be within a single process or across multiple
processes, depending on the type of NamespaceManager used.
The NamespaceManager itself is generally threadsafe, except in the
case of the DBMNamespaceManager in conjunction with the gdbm dbm
implementation.
-
set_value(key, value, expiretime=None)
Optional set_value() method called by Value.
Allows an expiretime to be passed, for namespace
implementations which can prune their collections
using expiretime.
-
class beaker.container.OpenResourceNamespaceManager(namespace)
- A NamespaceManager where read/write operations require opening/
closing of a resource which is possibly mutexed.
-
class beaker.container.Value(key, namespace, createfunc=None, expiretime=None, starttime=None)
-
has_value()
return true if the container has a value stored.
This is regardless of it being expired or not.