===========
lightqueue
lightqueue is a lightweight job queue that processes jobs (Python
function calls) from a queue located inside a Redis database.
To install it:
::
$ pip install lightqueue
After you have lightqueue (and Redis) installed, you are ready to start queueing jobs.
Say you have a function like this in a module called mymodule
::
def myfunc(num):
print sum([x for x in range(num)])
To add the execution of this function as a job into lightqueue:
::
>>> from lightqueue.queue import Queue
>>> from mymodule import myfunc
>>> q = Queue()
>>> q.enqueue(myfunc, 9999) # add the job myfunc(9999) to the queue
>>> q.enqueue(myfunc, 1234567) # add the job myfunc(1234567) to the queue
To start processing these jobs, type this in a shell prompt:
::
$ lightqueue start
Change db server
By default, lightqueue adds jobs to and processes jobs from the Redis server
located at localhost:6379 on db=0. To change any of these settings:
::
>>> Queue q = Queue(host='myredishost', port=7323, db=4)
Then give the lightqueue process the same settings:
::
$ lightqueue start -host myredishost -port 7323 -db 4
Parallel Processing
By default, lightqueue processes one job from the queue at a time.
To process more than one job at once (let's say 4), start up lightqueue
with the following command-line args:
::
$ lightqueue start -e parallel -workers 4
This uses the Python multiprocessing module so be aware of all of the usual
caveats of parallel processing.