gpt4 book ai didi

django - 如何在部署到 AWS 实例时使 redis BROKER_URL 动态化

转载 作者:可可西里 更新时间:2023-11-01 11:18:12 24 4
gpt4 key购买 nike

我正在部署一个 Django 应用程序,它使用 celery 任务并将 redis 作为代理后端。我正在使用 docker 进行部署,我的生产服务器是一个 amazon aws 实例。我面临的问题是本地主机的 django 设置不同:

BROKER_URL = 'redis://localhost:6379'
CELERY_RESULT_BACKEND = 'redis://localhost:6379'

我所有的单元测试都有效。对于 docker,它会失败,除非我将其更改为

BROKER_URL = 'redis://redis:6379'
CELERY_RESULT_BACKEND = 'redis://redis:6379'

我的问题是,如何在我的部署服务器中识别 redis 代理 url?会是redis://redis:6379吗?

PS:对于 heroku 服务器,有一个附加组件用于识别 redis url 调用 REDISTOGO_URL。 amazon aws 服务器有类似的东西吗?

最佳答案

BROKER_URL = 'redis://localhost:6379'CELERY_RESULT_BACKEND = 'redis://localhost:6379'

以上暗示 redis 和 celery 都在本地主机上运行,​​也就是运行 django 应用程序的同一台机器。

请检查:

1) 服务器上安装了Redis,并且正在运行。 (sudo service redis-server start)

2) Celery 安装在服务器上,并且正在运行。

BROKER_URL = 'redis://redis:6379'CELERY_RESULT_BACKEND = 'redis://redis:6379'

如果您使用的是 docker,则以上内容暗示有另一个运行 redis 的 docker 容器,并且您的代码容器已链接到别名为“redis”的 redis 容器

关于django - 如何在部署到 AWS 实例时使 redis BROKER_URL 动态化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41776774/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com