This document describes Celery 3.0. For development docs, go here.
Celery needs to know the location of your database, which should be the usual SQLAlchemy connection string, but with ‘sqla+’ prepended to it:
BROKER_URL = 'sqla+sqlite:///celerydb.sqlite'
This transport uses only the BROKER_URL setting, which have to be an SQLAlchemy database URI.
Please see SQLAlchemy: Supported Databases for a table of supported databases.
Here’s a list of examples using a selection of other SQLAlchemy Connection String‘s:
# sqlite (filename) BROKER_URL = 'sqla+sqlite:///celerydb.sqlite' # mysql BROKER_URL = 'sqla+mysql://scott:tiger@localhost/foo' # postgresql BROKER_URL = 'sqla+postgresql://scott:tiger@localhost/mydatabase' # oracle BROKER_URL = 'sqla+oracle://scott:firstname.lastname@example.org:1521/sidname'
The SQLAlchemy database transport does not currently support:
- Remote control commands (celeryev, broadcast)
- Events, including the Django Admin monitor.
- Using more than a few workers (can lead to messages being executed multiple times).