1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- .. _broker-sqlalchemy:
- ==================
- Using SQLAlchemy
- ==================
- .. _broker-sqlalchemy-installation:
- Installation
- ============
- For the SQLAlchemy transport you have to install the
- `kombu-sqlalchemy` library::
- $ pip install -U kombu-sqlalchemy
- .. _broker-sqlalchemy-configuration:
- Configuration
- =============
- This transport uses only the :setting:`BROKER_HOST` setting, which have to be
- an SQLAlchemy database URI.
- #. Set your broker transport::
- BROKER_TRANSPORT = "sqlalchemy"
- #. 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/core/engines.html#supported-databases
- .. _`SQLAlchemy Connection String`:
- http://www.sqlalchemy.org/docs/core/engines.html#database-urls
- .. _sqlalchemy-results-configuration:
- Results
- -------
- To store results in the database as well, you should configure the result
- backend. See :ref:`conf-database-result-backend`.
- .. _broker-sqlalchemy-limitations:
- Limitations
- ===========
- 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).
|