/python-FsQueue

FsQueue is a elastic queue based on filesystem for python.

Primary LanguagePython

==========
FsQueue
==========

python FsQueue is a elastic synchronized queue class.

Source code
===========
You can find here
https://github.com/masahif/python-FsQueue

Features
===========
The FsQueue module has almost same as python's queue class.

- FsQueue is elastic.
- FsQueue is multi process safe. Multi process can work with FsQueue.
- FsQueue doesn't have max size feature so full() always return False.
- FsQueue might work as FIFO queue.


A quick example
===================

example::
  
  import sys
  from multiprocessing import Process
  from FsQueue import Queue
  from time import sleep
  
  def put(q, num):
      for i in xrange(num):
          print "put:%d" % i
          sys.stdout.flush()
          q.put(i)
  
  def get(q, num):
      for i in xrange(num):
          sys.stdout.flush()
          print "get:%d %d" % (i, q.get())
          q.task_done()
  
  def process_test():
      q = Queue(init=True)
      p0 = Process(target=put, args=(q,1000))
      p0.start()
      p0.join()
      p1 = Process(target=get, args=(q,500))
      p2 = Process(target=get, args=(q,500))
      p1.start()
      p2.start()
      p1.join()
      p2.join()
  
      if not q.empty():
          print "Queue should be empty."
          raise Exception
  
  if __name__ == '__main__':
      process_test()
  

Recent Change Log
======================

v1.2
-------
 * A quick example was changed.

v1.1
-------
 * First release