Как запускать дозорные команды с помощью redis.py - PullRequest
0 голосов
/ 13 января 2020

Можно ли запускать команды дозорного типа SENTINEL masters с python? ссылка здесь .

Прежде чем использовать sentinel.master_for("master_name"), я должен знать главное имя, однако используемый мной сервис redis предоставляется платформой приватного облака компании, а главное имя в Sentinel Conf содержит IP текущего мастер-узла и будет переписан и изменен, если мастер-узел изменился, поэтому жесткий код не представляется возможным.

В настоящее время для меня идея состоит в том, чтобы перейти на канал __sentinel__:hello и парсинг имени мастера от него, однако, выглядит так неудобно.

Есть ли другой способ получить имя мастера? В терминале мы можем подключиться к стражу с помощью redis-cli и получить основную информацию с помощью SENTINEL masters, это можно сделать в python?

1 Ответ

0 голосов
/ 14 января 2020

redis.py сам может быть использован для подключения к стражу.

import redis
sentinel_obj = redis.Redis(host="127.0.0.1", port=26379)  # pass the host and port of sentinel
sentinel_obj.sentinel_masters()  # this will get all available master-group-names in sentinel
...