celery-sentinel

Redis-Sentinel transport for Celery


Keywords
celery, redis, sentinel, broker
License
MIT
Install
pip install celery-sentinel==0.0.1

Documentation

celery-sentinel

Celery broker for Redis Sentinel

Installation

As simple as possible:

pip install celery-sentinel

Usage

Setup celery broker:

#  settings.py

BROKER_URL='redis-sentinel://redis-sentinel:26379/0'

BROKER_TRANSPORT_OPTIONS = {
    'sentinels': [('192.168.1.1', 26379),
                  ('192.168.1.2', 26379),
                  ('192.168.1.3', 26379)],
    'service_name': 'master',
    'socket_timeout': 0.1,
}

Configure celery app:

# celery_app.py
import os

from celery_sentinel import Celery

# set the default Django settings module for the 'celery' program.
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings.local")

app = Celery("your-project")

# Using a string here means the worker doesn't have to serialize
# the configuration object to child processes.
# - namespace='CELERY' means all celery-related configuration keys
#   should have a `CELERY_` prefix.
app.config_from_object("django.conf:settings", namespace="CELERY")

# Load task modules from all registered Django app configs.
app.autodiscover_tasks()

Then use the celery as usual.