微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Django Celery Heroku - 更改了 Redis URL 环境变量,现在出现错误

如何解决Django Celery Heroku - 更改了 Redis URL 环境变量,现在出现错误

我更新了环境变量,在 Heroku 中称为 REDdis_URL 的配置变量

关闭了我的应用程序 dyno 和我的工作程序 dyno。

然后我重新启动了我的应用程序 dyno,web gunicorn myapplication.wsgi 并且没有问题

然后我重新启动了我的工人 worker celery -A myapplication worker -l info --concurrency 2 这导致我在日志中收到以下错误 [2021-07-06 16:00:05: ERROR/MainProcess] Cannot connect to redis://NEW_REDdis_URL//: Error while reading from socket: (104,'Connection reset by peer').

如何让工作人员为 REDdis_URL 引用更新的配置变量(环境变量)?

解决方法

使用 OS os.environ.get('REDIS_URL')

在 settings.py 中设置 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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。