Не удается подключить redis sentinels на django

Я пытаюсь подключить sentinels, но каждый раз мы получаем одну и ту же ошибку

Исключение: Не удалось подключиться ни к одному дозорному

CHANNEL_LAYERS = {
    "default": {
        "BACKEND": "channels_redis.core.RedisChannelLayer",
        "CONFIG": {
               "hosts": [
                   { "sentinels": [("redis-cluster.local.svc.cluster.local", 26379, )]
                   , "master_name": "mymaster"}
                   ]}
        },
    }

Я не могу понять, куда вставлять ключ пароля и ключ db. И нужно ли мне прописывать в url url'ы sentinels? Или достаточно сервиса? Примечание: при попытке подключить redis/sentinels без каналов у нас вообще не возникает никаких проблем

Из channels_redis readme:

хосты

Сервер(ы) для подключения, в виде URI, кортежей (хост, порт) или диаграмм, соответствующих create_connection. По умолчанию ['localhost', 6379]. Передайте несколько хостов, чтобы включить шардинг, но учтите, что изменение списка хостов приведет к потере некоторых шардированных данных.

.

Для соединений Sentinel требуются dicts, соответствующие create_sentinel с дополнительным ключом master_name, указывающим мастер-набор Sentinel. Обычные соединения Redis и Sentinel можно смешивать и сочетать, если используется шардинг.

.

(выделено мной)

Из того, что я прочитал, кажется, что невозможно использовать URI для соединений sentinel, поэтому если вы хотите установить ключи db и password, вам нужно добавить соответствующие ключи в элемент списка hosts:

CHANNEL_LAYERS = {
  "default": {
    "BACKEND": "channels_redis.core.RedisChannelLayer",
    "CONFIG": {
      "hosts": [
        {
          "sentinels": [
            ("redis-cluster.local.svc.cluster.local", 26379, )
          ],
          "master_name": "mymaster",
          "db": 0,
          "password": "your_password"
        }
      ]
    }
  }
}
Вернуться на верх