| Home | Trees | Indices | Help |
|
|---|
|
|
object --+
|
QueueStore --+
|
DbmQueue
A QueueStore implementation that stores messages and queue information in DBM-style database.
Several database files will be used to support this functionality: metadata about the queues will be stored in its own database and each queue will also have its own database file.
This classes uses a threading.RLock to guard access to
the memory store, since it appears that at least some of the underlying
implementations that anydbm uses are not thread-safe
Due to some impedence mismatch between the types of data we need to store in queues (specifically lists) and the types of data that are best stored in DBM databases (specifically dicts), this class uses the `shelve` module to abstract away some of the ugliness. The consequence of this is that we only persist objects periodically to the datastore, for performance reasons. How periodic is determined by the `checkpoint_operations` and `checkpoint_timeout` instance variables (and params to __init__).
| Instance Methods | |||
|
|||
|
|||
stompclient.frame.Frame
|
|
||
bool
|
|
||
int
|
|
||
|
|||
set
|
|
||
|
Inherited from Inherited from |
|||
| Class Variables | |
|
Inherited from |
| Properties | |
|
Inherited from |
| Method Details |
A base constructor that sets up logging and the lock used by synchronized decorator. If you extend this class, you should either call this method or at minimum make sure these values get set.
|
Store message (frame) for specified destinationination.
|
Removes and returns an item from the queue (or
|
Whether specified queue has any frames.
|
Size of the queue for specified destination.
|
Closes the databases, freeing any resources (and flushing any unsaved changes to disk).
|
Provides a list of destinations (queue "addresses") available.
|
| Home | Trees | Indices | Help |
|
|---|
| Generated by Epydoc 3.0.1 on Tue Jun 28 20:30:42 2011 | http://epydoc.sourceforge.net |