Skip to main content

Beaker backend MongoDB

Project description

MongoDB backend for Beaker’s caching / session system.

Configuration

To set this up in your own project so that beaker can find it, it must define a setuptools entry point in your setup.py file. If you install from the egg distribution, beaker-mongodb setup.py SHOULD create a beaker.backend entry point. If you need to tweak it/see how it’s done or it just doesn’t work and you need to define your own, mine looks like this:

>>> entry_points="""
... [beaker.backends]
... mongodb = beaker.ext.mongodb:MongoDBNamespaceManager
... """,

With this defined, beaker should automatically find the entry point at startup (Beaker 1.4 and higher support custom entry points) and load it as an optional backend called ‘mongodb’.

There are more configuration options and details in the Beaker configuration docs [1].

I have a few cache regions in one of my applications, some of which are memcache and some are on mongodb. The region config looks like this:

>>> # new style cache settings
... beaker.cache.regions = comic_archives, navigation
... beaker.cache.comic_archives.type = libmemcached
... beaker.cache.comic_archives.url = 127.0.0.1:11211
... beaker.cache.comic_archives.expire = 604800
... beaker.cache.navigation.type = mongodb
... beaker.cache.navigation.url = mongodb://localhost:27017/beaker.navigation
... beaker.cache.navigation.expire = 86400

The Beaker docs[1] contain detailed information on configuring regions. The item we’re interested in here is the beaker.cache.navigation keys. Each beaker cache definition needs a type field, which defines which backend to use. Specifying mongodb will (if the module is properly installed) tell Beaker to cache via mongodb. Note that if Beaker cannot load the extension, it will tell you that mongodb is an invalid backend.

Expiration is standard beaker syntax, although not supported at the moment in this backend.

Finally, you need to define a URL to connect to MongoDB. This follows the standardized MongoDB URI Format[2]_.

If you want to use MongoDB’s optional authentication support, that is also supported. Simply define your URL as such:

>>> beaker.cache.navigation.url = mongodb://user@password@localhost:27017/beaker.navigation

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

beaker-mongo-0.2.2.tar.gz (4.4 kB view details)

Uploaded Source

File details

Details for the file beaker-mongo-0.2.2.tar.gz.

File metadata

File hashes

Hashes for beaker-mongo-0.2.2.tar.gz
Algorithm Hash digest
SHA256 469ae9ce20bbba85caf8bdff5bf8df44165c1e46407f87ef68fa812abe4a9d2c
MD5 54b634b43e32295d08350068577c93fb
BLAKE2b-256 b1d5243446e0d0ff08cfc67f02b32b0d0051dce4a7e248309235678934125abe

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page