芹菜击败+ redis密码抛出No Auth异常

时间:2018-03-20 04:49:31

标签: docker redis celery celerybeat

我在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.

我一直无法弄清楚还有什么需要配置才能让这个设置正常工作。对该问题的一些见解和指导是可观的。

下面是完整的堆栈跟踪。

Complete stack trace

1 个答案:

答案 0 :(得分:2)

如果你有redis的身份验证,那么URI应该采用这种格式。

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

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

没有身份验证,uri应该是

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