Celery beat + redis with password抛出No Auth异常

Celery beat + redis with password throws No Auth exception

我在 docker 设置中使用 celery 和 redis 作为两个服务。配置如下:

  redis:
    image: redis:latest
    hostname: redis
    ports:
      - "0.0.0.0:6379:6379"
    command:
      --requirepass PASSWORD

  celeryworker:
    <<: *django
    depends_on:
      - redis
      - postgres
    command: "celery -E -A rhombus.taskapp worker --beat --scheduler redbeat.schedulers:RedBeatScheduler --loglevel INFO --uid taskmaster --concurrency=5"

当我尝试构建我的容器并在工作人员准备好后安排一些工作时,我遇到了异常

[2018-03-20 04:40:52,082: WARNING/Beat] redis.exceptions.ResponseError: NOAUTH Authentication required.

我无法弄清楚还需要什么配置才能使此设置正常工作。对这个问题的一些见解和指导是值得赞赏的。

下面是完整的堆栈跟踪。

如果你有redis认证,那么URI应该是这种格式。

broker_url = 'redis://user:password@redishost:6379/0'

您提到的 URI 不是有效的 Redis URI。如果您更新 URI,它应该可以工作。

没有身份验证,uri应该是

broker_url = 'redis://redishost:6379/0'