Provides a simple queueing system that resides within a directory on disk.
Install with setuptools:
$ easy_install -f http://www.psychofx.com/directory_queue/ DirectoryQueue
Or download DirectoryQueue-1.4.2.egg
Also see source, wiki, tickets.
Example:
>>> from directory_queue.directory_queue import DirectoryQueue
>>> from directory_queue.generic_queue_item import GenericQueueItem
>>> import os
>>>
>>> qdir = '/tmp/queue'
>>> os.mkdir(qdir)
>>> dq = DirectoryQueue(qdir, GenericQueueItem)
>>>
>>> item1 = dq.newQueueItem('item1')
>>> file(item1.dataFileName(), 'w').write('some data')
>>> item1.writeMetadata({'what': 'anything', 'foo': 'bar'})
>>> dq.itemReady(item1)
>>>
>>> ready_item1 = dq.getNext()
>>> md = ready_item1.readMetadata()
>>> md
{'what': 'anything', 'foo': 'bar'}
>>> data = file(ready_item1.dataFileName(), 'r').read()
>>> data
'some data'
>>> dq.itemDone(ready_item1)