【问题标题】:Django Celery Heroku - Changed Redis URL enviro variable, now getting errorDjango Celery Heroku - 更改了 Redis URL 环境变量,现在出现错误
【发布时间】:2021-09-17 09:20:06
【问题描述】:

我更新了 enviro 变量,在 Heroku 中称为 REDDIS_URL 的配置变量

我关闭了我的 app dyno 和我的 worker 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 配置变量(环境变量)?

【问题讨论】:

    标签: django heroku redis celery


    【解决方案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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-05
      • 2020-09-18
      • 2014-06-08
      • 2019-04-06
      • 2013-02-16
      • 2012-04-21
      • 2015-04-25
      • 2020-10-04
      相关资源
      最近更新 更多