Raj*_*war 4 redis celery celerybeat docker
我在 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"
Run Code Online (Sandbox Code Playgroud)
当我尝试构建我的容器并在工人准备好后安排一些工作时,我得到了一个例外
[2018-03-20 04:40:52,082: WARNING/Beat] redis.exceptions.ResponseError: NOAUTH Authentication required.
Run Code Online (Sandbox Code Playgroud)
我一直无法弄清楚还需要什么配置才能使此设置正常工作。对这个问题的一些见解和指导是可观的。
下面是完整的堆栈跟踪。
或者,根据celery docs,如果您没有设置显式用户,则可以像这样设置代理 url:
broker_url='redis://:password@hostname:port/db_number'
Run Code Online (Sandbox Code Playgroud)
如果您对 redis 进行了身份验证,则 URI 应采用此格式。
broker_url = 'redis://user:password@redishost:6379/0'
Run Code Online (Sandbox Code Playgroud)
您提到的 URI 不是有效的 redis uri。如果您更新 URI,它应该可以工作。
没有身份验证,uri应该是
broker_url = 'redis://redishost:6379/0'
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6809 次 |
最近记录: |