Open
Description
Ran into some issues getting setup with SSL using celery-singleton
As I couldn't find a working way to pass args necessary to the redis instance used I ended up creating a RedisSSLBackend
class and configuring celery with the following:
app=Celery(
__name__,
broker=config.REDIS_URI,
singleton_backend_class=RedisSSLBackend
broker_use_ssl={
"ssl_cert_reqs": SSL_VERIFY_MODE,
},
)
import ssl
from typing import Any
from urllib.parse import urlparse
import redis
from celery_singleton.backends.redis import RedisBackend
from app import config
SSL_VERIFY_MODE: ssl.VerifyMode = ssl.CERT_NONE
class RedisSSLBackend(RedisBackend):
def __init__(self, *_args: Any, **_kwargs: Any) -> None:
redis_uri = urlparse(config.REDIS_URI)
self.redis = redis.Redis(
host=redis_uri.hostname,
port=redis_uri.port,
ssl=True,
ssl_cert_reqs=SSL_VERIFY_MODE,
)
Metadata
Metadata
Assignees
Labels
No labels