Skip to main content

A RabbitMQ asynchronous task queue for Django.

Project description /docs/source/images/carrot-logo-big.png

django-carrot is a lightweight task queue backend for Django projects that uses the RabbitMQ message broker, with an emphasis on quick and easy configuration and task tracking


Install django-carrot:

pip install django-carrot

Install and run RabbitMQ

brew install rabbitmq
brew services start rabbitmq


  1. Add carrot to your Django project’s settings module:
  1. Apply the carrot migrations to your project’s database:
python migrate carrot


To start the service:

python carrot_daemon start

To run tasks asynchronously:

from carrot.utilities import publish_message

def my_task(**kwargs):
    return 'hello world'

publish_message(my_task, hello=True)

To schedule tasks to run at a given interval

from carrot.utilities import create_scheduled_task

create_scheduled_task(my_task, {'seconds': 5}, hello=True)


The above commands must be made from within the Django environment


A sample docker config is available here

Full documentation

The full documentation is available at


If you are having any issues, please log an issue


Django-carrot uses PyPRI to share development builds. If you’d like access to it, please send me your email address at so I can give you access


The project is licensed under the Apache license.

Icons made by Trinh Ho from is licensed by CC 3.0 BY

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for django-carrot-dev, version 271
Filename, size File type Python version Upload date Hashes
Filename, size django-carrot-dev-271.tar.gz (198.9 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page