public
Description: Redis based ghetto queue.
Homepage:
Clone URL: git://github.com/ask/ghettoq.git
name age message
file .gitignore Wed Nov 04 06:52:18 -0800 2009 Initial import [ask]
file AUTHORS Wed Nov 04 07:00:57 -0800 2009 Initial commit [ask]
file Changelog Wed Nov 04 06:52:18 -0800 2009 Initial import [ask]
file INSTALL Wed Nov 04 06:52:18 -0800 2009 Initial import [ask]
file MANIFEST.in Wed Nov 04 06:52:18 -0800 2009 Initial import [ask]
file README Mon Nov 09 04:05:32 -0800 2009 Bumped version to 0.1.1 [ask]
file TODO Wed Nov 04 07:00:57 -0800 2009 Initial commit [ask]
directory docs/ Wed Nov 04 06:52:18 -0800 2009 Initial import [ask]
directory ghettoq/ Thu Dec 17 08:32:08 -0800 2009 The python redis client suddenly changed push(n... [ask]
file setup.cfg Wed Nov 04 06:52:18 -0800 2009 Initial import [ask]
file setup.py Sat Nov 14 06:11:31 -0800 2009 Remove redis from install_requires [ask]
directory testproj/ Wed Nov 04 10:37:24 -0800 2009 Unittests passing, added support for a Django M... [ask]
README
============================================================================
ghettoq - Ghetto Queue using Redis or Django Models.
============================================================================

:Version: 0.1.1

Introduction
============

ghettoq is a ghetto queue framework, used to implement Redis and Django
database support for
`carrot`_

.. _`carrot`: http://pypi.python.org/pypi/carrot

Installation
============

You can install ``ghettoq`` either via the Python Package Index (PyPI)
or from source.

To install using ``pip``,::

    $ pip install ghettoq


To install using ``easy_install``,::

    $ easy_install ghettoq


If you have downloaded a source tarball you can install it
by doing the following,::

    $ python setup.py build
    # python setup.py install # as root

Examples
========

    >>> from ghettoq.simple import Connection
    >>> import simplejson

    >>> conn = Connection("redis", host="localhost", database="myqueue")

    >>> # Publishing messages
    >>> q = conn.Queue("tasks")
    >>> payload = {"name": "George Constanza"}
    >>> q.put(simplejson.dumps(payload))

    >>> # Consuming messages
    >>> message = q.get()
    >>> simplejson.loads(message)
    {"name": "George Constanza"}

    # Empty raises ghettoq.messaging.Empty
    >>> q.get()
    Empty


Using Django database support
-----------------------------

If settings is already configured you don't have to specify any
connection options.

    >>> from ghettoq.simple import Connection

    >>> conn = Connection("database")
    >>> queue = conn.Queue(name="tasks")
    >>> queue.put("To whom it may concern")
    >>> queue.get()
    "To whom it may concern"