Metadata-Version: 2.1
Name: celery-sentinel
Version: 0.0.1
Summary: Redis-Sentinel transport for Celery
Home-page: https://github.com/kidig/celery-sentinel
Author: Dmitry Gerasimenko
License: MIT
Keywords: celery redis sentinel broker
Platform: UNKNOWN
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Development Status :: 2 - Pre-Alpha
Description-Content-Type: text/markdown
Requires-Dist: celery (==4.4.6)
Requires-Dist: setuptools

# celery-sentinel

Celery broker for [Redis Sentinel](http://redis.io/topics/sentinel)

## Installation

As simple as possible:

```pip install celery-sentinel```

## Usage

Setup celery broker:

```python
#  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:

```python
# 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.

