首页 文章

芹菜不起作用:无法连接到amqp:// guest:** @ 127.0.0.1:5672 //

提问于
浏览
3

我不能经营芹菜 Worker 码头django . 我下载图像兔子和链接 Worker ,在运行中我得到错误:无法连接到amqp:// guest:** @ 127.0.0.1:5672 //:[Errno 111]连接被拒绝 . worker_1 . Django:1.11,calary: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

calery

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

2 回答

  • 1

    该错误是由 CELERY_BROKER_URL 的无效主机引起的 . 根据您提供的错误,您的代理网址中的主机似乎是 127.0.0.1 ,因为您使用的是docker,除非您提供主机的公共IP,否则这将无效 . 您需要更新 CELERY_BROKER_URL 中的主机以使用撰写文件中的服务名称 . 在你的情况下它是 rabbit . 下面的东西应该工作:

    CELERY_BROKER_URL = 'amqp://guest:guest@rabbit:5672/%2F'
    

    更改用户和密码以及其他详细信息 .

  • 0

    如果您无法访问guest:guest,请将您自己的用户添加到系统中 . 此文档可以帮助您在RabbitMQ服务器中设置自己的用户,密码和虚拟主机 .

    http://docs.celeryproject.org/en/latest/getting-started/brokers/rabbitmq.html#broker-rabbitmq

相关问题