【发布时间】:2019-01-09 09:37:13
【问题描述】:
docker-compose.yml
version: '3.1'
services:
redis:
image: redis:latest
container_name: rd01
ports:
- '6379:6379'
webapp:
image: webapp
container_name: wa01
ports:
- "8000:8000"
links:
- redis
depends_on:
- redis
celery:
build: .
container_name: cl01
command: celery -A server worker -l info
depends_on:
- redis
我也不觉得我理解链接和依赖,我尝试了不同的组合。
Celery 无法连接到 redis。我收到以下错误 -
[2018-08-01 13:59:42,249: ERROR/MainProcess] consumer: Cannot connect to amqp://guest:**@127.0.0.1:5672//: [Errno 111] Connection refused.
我相信我已经在我的 django 应用程序的 settings.py 中正确设置了代理 URL(webapp 图像)
CELERY_BROKER_URL = 'redis://redis:6379/0'
CELERY_RESULT_BACKEND = 'redis://redis:6379/0'
使用 celery 和 redis 对 django 项目进行 dockerize 的正确方法是什么? TIA。
编辑
celery.py
from __future__ import absolute_import, unicode_literals
import os
from celery import Celery
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'server.settings')
app = Celery('server')
app.config_from_object('django.conf:settings', namespace='CELERY')
app.autodiscover_tasks()
@app.task(bind=True)
def debug_task(self):
print('Request: {0!r}'.format(self.request))
This is my django project 是重现错误的最简单形式。
【问题讨论】:
-
您可以添加您的
celery配置设置吗? -
@JerinPeterGeorge:你说的是 celery.py 吗?
-
是的..请添加它
-
@JerinPeterGeorge 我已经添加了。
标签: django docker redis celery