Heroku Redis 从套接字读取时出错:(104,'连接被对等方重置')

问题描述 投票:0回答:1

我正在运行一个 Heroku Redis 实例,它始终工作正常,但升级后,当我尝试运行 celery Workers 时,出现以下错误

[2021-07-23 11:06:08,135: ERROR/MainProcess] consumer: Cannot connect to redis://:**@ec2-54-***-***-*.eu-west-1.compute.amazonaws.com:*****//: Error while reading from socket: (104, 'Connection reset by peer').
Trying again in 12.00 seconds... (6/100)

一切似乎都是最新的,我似乎不知道如何再次运行它。我尝试删除 redis 实例并从头开始创建它,但什么也没有。

django heroku celery
1个回答
0
投票

2024 年 9 月,Heroku 更新了 REDIS 以使用安全的 TLS 连接 URL。请参阅这篇帮助文章,了解有关必须对 Redis 配置进行哪些配置变量更改的更多信息。

在我的例子中,我使用 redis.Redis python 函数来创建如下连接:

import os
from urllib.parse import urlparse
import redis

url = urlparse(os.environ.get("REDIS_URL"))
r = redis.Redis(host=url.hostname, port=url.port, password=url.password, ssl=(url.scheme == "rediss"), ssl_cert_reqs=None)

我缺少参数

ssl=(url.scheme == "rediss")
ssl_cert_reqs=None

如何修复?

确保指定 SSL 相关配置参数

ssl=True
ssl_cert_reques=None

© www.soinside.com 2019 - 2024. All rights reserved.