【问题标题】:How to setup Celery to talk ssl to Azure Redis Instance如何设置 Celery 与 Azure Redis 实例通信 ssl
【发布时间】:2017-06-20 21:16:31
【问题描述】:

使用“How to configure celery-redis in django project on microsoft azure?”的最佳答案,我可以使用以下 Python 代码将 Celery 配置为使用 非 ssl 端口 6379 使用 Azure Redis 缓存:

from celery import Celery
# This one works
url = 'redis://:<access key>@<my server>.redis.cache.windows.net:6379/0'
# I want to use a url that specifies ssl like one of the following:
# url = 'redis://:<my key>=@<my server>.redis.cache.windows.net:6380/0'
# url = 'redis://:<my key>@<my server>.redis.cache.windows.net:6380/0?ssl=True'
app = Celery('tasks', broker=url)

@app.task
def add(x, y):
    return x + y

但是,我想让 celery 使用 ssl 并在 端口 3380 上使用 ssl 与 Azure Redis 缓存进行通信。如果我将端口更改为 6380,在运行以下命令后等待几分钟后,我会收到“从套接字读取时出错”:

celery -A tasks worker --loglevel=INFO -Q "celery" -Ofair

有谁知道如何在 Celery 或 Azure 端进行配置,以便我可以使用 ssl 在 Azure Redis 缓存上的默认 3380 端口上与 celery 通信?

我使用的是最新版本的 Celery (4.0.2)

请注意,当使用端口 3380 和使用 Python 的 redis 库的 ssl 从 Linux 客户端(在 Azure 上)直接连接时,如下代码可以正常工作:

import redis
redis.StrictRedis(host='<my host>.redis.cache.windows.net', port=6380, db=0, password='<my key>', ssl=True)

【问题讨论】:

标签: python python-2.7 azure redis celery


【解决方案1】:

已经可以使用rediss:// 代替redis://

url = 'rediss://:<access key>@<my server>.redis.cache.windows.net:6380/0'

【讨论】:

  • 谢谢,这应该是现在接受的答案。由于 celery 团队修复了 issue 2833,您可能不再需要使用 broker_use_sslredis_backend_use_ssl 配置参数。请注意,为了使它工作,确切的连接字符串是这个:url = 'rediss://:&lt;access key&gt;@&lt;my server&gt;.redis.cache.windows.net:6380/0?ssl_cert_reqs=required' 请参阅docs.celeryproject.org/en/latest/userguide/…的文档
【解决方案2】:

对于代理,您应该可以设置broker_use_ssl 配置选项。

对于后端,选项 redis_backend_use_ssl 在 4.1.0 版本中可用。

尚无法通过 URL 启用 SSL:https://github.com/celery/celery/issues/2833

另外,请注意official support for Windows was dropped in 4.0。但是,您可能可以按照https://github.com/celery/celery/issues/4082 的说明使其正常工作

【讨论】:

    猜你喜欢
    • 2014-06-06
    • 2018-01-26
    • 1970-01-01
    • 2018-07-13
    • 2021-04-03
    • 2020-12-04
    • 1970-01-01
    • 2020-12-16
    • 2017-01-29
    相关资源
    最近更新 更多