| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 | .. _tut-otherqueues:========================================================== Using Celery with Redis/Database as the messaging queue.==========================================================.. contents::    :local:.. _otherqueues-redis:Redis=====For the Redis support you have to install the Python redis client::    $ pip install -U redis.. _otherqueues-redis-conf:Configuration-------------Configuration is easy, set the transport, and configure the location ofyour Redis database::    BROKER_BACKEND = "redis"    BROKER_HOST = "localhost"  # Maps to redis host.    BROKER_PORT = 6379         # Maps to redis port.    BROKER_VHOST = "0"         # Maps to database number... _otherqueues-sqlalchemy:SQLAlchemy==========.. _otherqueues-sqlalchemy-conf:For the SQLAlchemy transport you have to install the`kombu-sqlalchemy` library::    $ pip install -U kombu-sqlalchemyConfiguration-------------This transport uses only the :setting:`BROKER_HOST` setting, which have to bean SQLAlchemy database URI.#. Set your broker transport::    BROKER_BACKEND = "sqlakombu.transport.Transport"#. Configure the database URI::    BROKER_HOST = "sqlite://celerydb.sqlite"Please see `SQLAlchemy: Supported Databases`_ for a table of supported databases.Some other `SQLAlchemy Connection String`_, examples:.. code-block:: python    # sqlite (filename)    BROKER_HOST = "sqlite:///celerydb.sqlite"    # mysql    BROKER_HOST = "mysql://scott:tiger@localhost/foo"    # postgresql    BROKER_HOST = "postgresql://scott:tiger@localhost/mydatabase"    # oracle    BROKER_HOST = "oracle://scott:tiger@127.0.0.1:1521/sidname".. _`SQLAlchemy: Supported Databases`:    http://www.sqlalchemy.org/docs/dbengine.html#supported-databases.. _`SQLAlchemy Connection String`:    http://www.sqlalchemy.org/docs/dbengine.html#create-engine-url-arguments.. _otherqueues-django:Django Database===============.. _otherqueues-django-conf:For the Django database transport support you have to install the`django-kombu` library::    $ pip install -U django-kombuConfiguration-------------The database backend uses the Django `DATABASE_*` settings for databaseconfiguration values.#. Set your broker transport::    BROKER_BACKEND = "djkombu.transport.DatabaseTransport"#. Add :mod:`djkombu` to `INSTALLED_APPS`::    INSTALLED_APPS = ("djkombu", )#. Verify you database settings::    DATABASE_ENGINE = "mysql"    DATABASE_NAME = "mydb"    DATABASE_USER = "myuser"    DATABASE_PASSWORD = "secret"  The above is just an example, if you haven't configured your database before  you should read the Django database settings reference:  http://docs.djangoproject.com/en/1.1/ref/settings/#database-engine#. Sync your database schema.    $ python manage.py syncdb
 |