【发布时间】:2018-10-17 18:25:29
【问题描述】:
我无法运行 celery worker + docker + django。我下载图像 rabbit 和linked worker,运行时出现错误:无法连接到 amqp://guest:**@127.0.0.1:5672//: [Errno 111] 连接被拒绝。 工人_1。 Django:1.11,卡路里:4.1.0。做错了什么?
码头工人撰写
rabbit:
image: rabbitmq:latest
ports:
- "5672:5672"
worker:
build: ./project
volumes:
- ./main:/src/app
depends_on:
- rabbit
links:
- web #django project
entrypoint: /src/app/calery.sh
卡路里
from __future__ import absolute_import, unicode_literals
import os
from celery import Celery
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'app.settings')
app = Celery('app')
app.config_from_object('django.conf:settings', namespace='APP')
app.autodiscover_tasks()
@app.task(bind=True)
def add():
print('Task')
celery.sh
#!/bin/bash
cd app
celery -A app worker -l info
【问题讨论】:
-
您是否启动了
Celery实例?类似celery -A my_project worker -l info? -
是的,好吧,这个命令写在calery.sh中
-
能显示calery.sh的内容吗?以及
CELERY_BROKER_URL的值? -
我添加了更高的 celery.sh 并且没有定义 CELERY_BROKER_URL。我看不到这一点:docs.celeryproject.org/en/latest/django/…
-
@SergBombermen 那是因为它有一个默认值并且您正在使用它,您可以查看他们的sample project进行配置。