你好!我无法连接 django 上的“heroku redis”

Posted

技术标签:

【中文标题】你好!我无法连接 django 上的“heroku redis”【英文标题】:Hi! I'm not able to connect with "heroku redis" on django 【发布时间】:2021-06-30 07:00:37 【问题描述】:

我已按照以下视频中的所有步骤进行操作:

https://www.youtube.com/watch?v=fvYo6LBZUh8&t=166s

但是,我无法连接“heroku redis”,我正在使用 celery 来执行周期性任务。错误如下:

[2021-04-02 22:00:05,622: ERROR/MainProcess] 消费者:无法连接 到 redis://:**@ec2-54-160-13-161.compute-1.amazonaws.com:12880//: 从套接字读取时出错:(10054,'Se ha forzado la interrupción de una conxión existente por el host remoto', 无, 10054,无)。

所以,任何关于可能发生的事情的想法都会很棒。 ¡ 非常感谢!

【问题讨论】:

在我的情况下,它工作了大约 2 3 周。但是今天它显示了这个错误。 @RahulHindocha Heroku 不断更改 URI,所以像 Marcos Paolo 所说的那样运行 heroku redis:credentials REDIS_URL 并获取更新的 REDIS_URL。 【参考方案1】:

最好在 settings.py 中使用 OS os.environ.get('REDIS_URL') 设置你的 redis URL

Heroku 会定期轮换凭据并更新附加此数据存储的应用程序。

Heroku 建议使用加密,因此使用rediss:// URL 而不是redis://

对于芹菜,类似:CELERY_BROKER_URL = 'rediss://:Password@Host:Port'

Heroku 命令轻松获取此 url heroku redis:credentials REDIS_URL

推荐人:https://devcenter.heroku.com/articles/heroku-redis#using-the-cli

【讨论】:

【参考方案2】:

我使用Redis Enterprise Cloudheroku 附加组件。链接-

https://elements.heroku.com/addons/rediscloud

它对我来说很好用。但是免费服务有30MB的限制。

【讨论】:

以上是关于你好!我无法连接 django 上的“heroku redis”的主要内容,如果未能解决你的问题,请参考以下文章

使用 Django 在 Heroku 上的 Redshift 连接

错误:无法从“10.3”确定 PostgreSQL 版本 - Heroku 上的 Django

无法获取给定 url 的内容 - Heroku 上的 Django CKEditor

带有 Django 的 Heroku 上的 Memcached:无法安装 pylibmc / memcacheify

Heroku 上的 Django - 损坏的管理静态文件

Heroku 上的 Django - 缺少静态文件 manifest.json 文件