A RabbitMQ asynchronous task queue for Django.
Project description
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
Installation
Install django-carrot:
pip install django-carrot
Install and run RabbitMQ
brew install rabbitmq
brew services start rabbitmq
Configuration
Add carrot to your Django project’s settings module:
INSTALLED_APPS = [
...
'carrot',
...
]
Create the carrot migrations and apply them to your project’s database:
python manage.py makemigrations carrot
python manage.py migrate carrot
Usage
To start the service:
python manage.py 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)
Full documentation
The full documentation is available at www.django-carrot.com <http://www.django-carrot.com>
Support
If you are having any issues, please log an issue <https://github.com/chris104957/django-carrot/issues/new>
License
The project is licensed under the Apache license.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.