Using MongoDB

Experimental Status

The MongoDB transport is in need of improvements in many areas and there are several open bugs. Sadly we don’t have the resources or funds required to improve the situation, so we’re looking for contributors and partners willing to help.

Installation

For the MongoDB support you have to install additional dependencies. You can install both Celery and these dependencies in one go using the celery[mongodb] bundle:

  1. $ pip install -U celery[mongodb]

Configuration

Configuration is easy, set the transport, and configure the location of your MongoDB database:

  1. BROKER_URL = 'mongodb://localhost:27017/database_name'

Where the URL is in the format of:

  1. mongodb://userid:password@hostname:port/database_name

The host name will default to localhost and the port to 27017, and so they are optional. userid and password are also optional, but needed if your MongoDB server requires authentication.

Results

If you also want to store the state and return values of tasks in MongoDB, you should see MongoDB backend settings.