BeakerHelpers

An extendable Beaker helpers package to manage Beaker sessions
Download

BeakerHelpers Ranking & Summary

Advertisement

  • Rating:
  • License:
  • MIT/X Consortium Lic...
  • Price:
  • FREE
  • Publisher Name:
  • Linas Juskevicius
  • Publisher web site:
  • http://www.idiles.com

BeakerHelpers Tags


BeakerHelpers Description

An extendable Beaker helpers package to manage Beaker sessions BeakerHelpers is a Beaker extension that can show the active sessions and clean the old ones. Currently, BeakerHelpers only works with beaker.ext.database storage backend.BeakerHelpers is also a namespace package so new plugins can be created under this namespace.You can find the Git repository at github.comInstallationeasy_install:$ < env >/bin/easy_install BeakerHelperspip:$ < env >/bin/pip install BeakerHelpersGet / Show Sessions UsageYou can call get_sessions to get a list of active sessions (dicts):>>> import sqlalchemy>>> from beakerhelpers.sessions import get_sessions>>> sessions_table = sqlalchemy.Table('beaker_cache',... sqlalchemy.MetaData('sqlite:///my.db'), autoload=True)>>> get_sessions(sessions_table, timeout=3600) # timeout in secondsThe above form is suitable for Python access. If you want to provide this data to the user you could use show_sessions with the same parameters instead:>>> print show_sessions(sessions_table, timeout=3600)-------------------------------------------------------- _accessed_time | _creation_time | user_name--------------------------------------------------------2010-01-01 10:10:10 | 2010-01-01 08:40:00 | john@doe.comHowever you can use paster beakersessions to call the show_sessions from the console:$ < env >/bin/paster beakersessions cfg/prod.ini-------------------------------------------------------- _accessed_time | _creation_time | user_name--------------------------------------------------------2010-01-01 10:10:10 | 2010-01-01 08:40:00 | john@doe.comIn this case the cfg/prod.ini file should be a paste.deploy loadable configuration file. BeakerHelpers expects to find these keys in the section of cfg/prod.ini: * beaker.session.type = ext:database - the only supported backend (yet) * beaker.session.url - an SQLAlchemy engine URL * beaker.session.timeout - session timeout in seconds * beaker.session.table_name - (optional) session storage table. According to beaker.ext.database, defaults to beaker_cache.paster beakersessions command also takes two optional arguments: * --prefix, -p - beaker key prefix in the config file, defaults to beaker.session * --timeout, -t - do not show sessions older than the timeout. Timeout examples: o 3s - 3 seconds o 14m - 14 minutes o 36h - 36 hours o 2d - 2 days o 0 - show all sessions (ignore timeout even in the config file) If not provided the timeout will be taken from the config file, .timeout (seconds).Session Cleanup UsageYou can use cleanup_sessions from your Python scripts to remove old sessions:>>> import sqlalchemy>>> from beakerhelpers.sessions import cleanup_sessions>>> sessions_table = sqlalchemy.Table('beaker_cache',... sqlalchemy.MetaData('sqlite:///my.db'), autoload=True)>>> cleanup_sessions(sessions_table, timeout=3600) # timeout in secondsThe sessions older than 1 hour would get cleaned. However, session cleanup is particularly convenient to be called as a paste script:$ < env >/bin/paster beakercleanup cfg/prod.iniIt expects the same config file structure and takes the same optional arguments as beakersessions. However, in this case sessions older than --timeout will be removed.Attention - BeakerShowSessions and BeakerCleanup usersDue to namespace issues BeakerShowSessions and BeakerCleanup can not be installed with pip and/or easy_install. Their functionality got merged into this package and access became simpler. We strongly encourage to use BeakerHelpers instead. Requirements: · Python · Beaker


BeakerHelpers Related Software