django-rq 0.5.1

A simple app that provides django integration for RQ (Redis Queue)
django-rq is a Django app that provides integration with RQ, a Redis based Python queuing library. Django-RQ is a simple app that allows you to configure your queues in django's settings.py and easily use them in your project.

Installation

- Install django-rq:

 pip install django-rq

- Add django_rq to INSTALLED_APPS in settings.py:

 INSTALLED_APPS = (
 # other apps
 "django_rq",
 )


- Configure your queues in django's settings.py (syntax based on Django's database config)

 RQ_QUEUES = {
 'default': {
 'HOST': 'localhost',
 'PORT': 6379,
 'DB': 0,
 },
 'test': {
 'HOST': 'localhost',
 'PORT': 1,
 'DB': 1,
 }
 }


- Include django_rq.urls in your urls.py:

 urlpatterns += patterns('',
 (r'^django_rq/', include('django_rq.urls')),
 )


Usage

Putting jobs in the queue

Django-RQ allows you to easily put jobs into any of the queues defined in settings.py. It comes with a few utility functions:

- enqueue - push a job to the default queue:

 import django_rq
 django_rq.enqueue(func, foo, bar=baz)


- get_queue - accepts a single queue name argument (defaults to "default") and returns an RQ Queue instance for you to queue jobs into:

 import django_rq
 queue = django_rq.get_queue('test')
 queue.enqueue(func, foo, bar=baz)

- get_connection - accepts a single queue name argument (defaults to "default") and returns a connection to the queue's Redis server:

 import django_rq
 redis_conn = django_rq.get_connection('test')


Running workers

django_rq provides a management command that starts a worker for every queue defined in settings.py:

python manage.py rqworkers

Queue statistics

You can also monitor the status of your queues from /django_rq/. This uses some features that's not yet available in RQ's current stable release (0.1.3) so you'll need to install RQ's development version from https://github.com/nvie/rq to use this feature.

If you need a more sophisticated monitoring tools for RQ, you could also try rq-dashboard. provides a more comprehensive of monitoring tools.

last updated on:
September 11th, 2012, 7:37 GMT
price:
FREE!
homepage:
github.com
license type:
MIT/X Consortium License 
developed by:
Selwin Ong
category:
ROOT \ Internet \ Django Plugins
django-rq
Download Button

In a hurry? Add it to your Download Basket!

user rating

UNRATED
0.0/5
 

0/5

Rate it!
What's New in version 0.4.5
  • Added the ability to requeue failed jobs in the admin interface
  • In addition to deleting the actual job from Redis, job id is now also correctly removed from the queue
  • Bumped up RQ requirement to 0.3.4 as earlier versions cause logging to fail (thanks @hugorodgerbrown)
read full changelog

Add your review!

SUBMIT