首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过Sentinel连接芹菜和Redis

通过Sentinel连接芹菜和Redis
EN

Stack Overflow用户
提问于 2017-02-28 05:03:42
回答 1查看 3.2K关注 0票数 1

我如何告诉芹菜关于我在redis上寻找的服务名称?我正在尝试使用Celery 4中内置的Sentinel支持。我正在传递一个在the documentation中配置的代理URL:sentinel://0.0.0.0:26379

但redis似乎抱怨没有收到service_name:

代码语言:javascript
复制
File "/usr/local/lib/python2.7/dist-packages/redis/sentinel.py", line 222, in discover_master
    raise MasterNotFoundError("No master found for %r" % (service_name,))
OperationalError: No master found for None

是否可以使用此service_name格式传递URL?我试过了

代码语言:javascript
复制
sentinel://0.0.0.0:26379/my_service
sentinel://0.0.0.0:26379/0/my_service

我没有找到任何关于连接URL的文档-我找到了redis-sentinel-URL,但我没有看到它包含在redis包中,所以我甚至不确定redis是否正在使用它。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-04 08:39:34

我设法解决了这个问题: celery需要同时设置broker_urlbroker_transport_options配置。

1) broker_url采用前哨URL的形式:前哨://本地主机:26379

2) broker_transport_options是一个字典,它需要您尝试连接到的前哨服务的名称。例如,如果您想要将作业推送到名为‘fiddlesticks’的队列中:{"master_name":"fiddlesticks"}

尽管上面的错误消息提示您传入了错误的“service_name”,但实际上您希望使用键“master_name”传入。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42495725

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档