gpt4 book ai didi

python - Celery 无法连接到哨兵 : No master found for 'mymaster'

转载 作者:行者123 更新时间:2023-12-03 08:12:01 32 4
gpt4 key购买 nike

我有一个正在运行的 Redis 哨兵。我可以使用 python 代码连接到它并毫无问题地对其执行 ping 操作(代码如下)。然而,当我尝试将我的 celery 应用程序连接到这个 redis 哨兵时,我没有找到 'mymaster' 的 master。我可能有一些设置错误?我的主人和我的哨兵都受密码保护。我在 Openshift 中运行它,但我不确定它是否相关,因为可以通过来自不同 pod(和服务)的 python 代码访问哨兵。

redis-cli -p 26379 -h 192.168.7.248
192.168.7.248:26379> auth abc
OK
192.168.7.248:26379> info sentinel
# Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
sentinel_simulate_failure_flags:0
master0:name=mymaster,status=ok,address=192.168.18.36:6379,slaves=0,sentinels=1
import redis
from redis.sentinel import Sentinel

sentinel = Sentinel([('192.168.7.248', 26379)], sentinel_kwargs={'password': 'abc'})
host, port = sentinel.discover_master("mymaster")
redis_client = redis.StrictRedis(
host=host,
port=port,
password='abc'
)
print(redis_client.ping())

此代码打印出“True”。

我的 celery 应用程序:

from celery import Celery

app = Celery("app_celery")

options = {
"master_name": "mymaster",
"sentinel_kwargs": {"password": "abc"},
}
app.conf.broker_url = "sentinel://192.168.7.248:26379"
app.conf.broker_transport_options = options

我非常绝望,任何帮助将不胜感激。

最佳答案

Celery 文档仅显示如何配置哨兵密码。 https://docs.celeryq.dev/en/stable/getting-started/backends-and-brokers/redis.html

如果您的 master 和 Sentinel 受密码保护,那么以下是您初始化 Celery 应用程序的方法。

from celery import Celery

REDIS_PASSWORD = 'your_redis_password'
REDIS_SENTINEL_PASSWORD = 'your_redis_sentinel_password'

redis_broker = f'sentinel://:{REDIS_PASSWORD}@localhost:26379;sentinel://:{REDIS_PASSWORD}@localhost:26380;sentinel://:{REDIS_PASSWORD}@localhost:26381'

app = Celery('app_celery', broker=redis_broker)

app.conf.broker_transport_options = {'master_name': 'mymaster', 'sentinel_kwargs': { 'password': REDIS_SENTINEL_PASSWORD }}

关于python - Celery 无法连接到哨兵 : No master found for 'mymaster' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70567402/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com