上下文:I在celery + rabbitmq堆栈上有一个主工作系统。
系统已被停靠(此处不提供worker服务)
version: '2'
services:
rabbit:
hostname: rabbit
image: rabbitmq:latest
environment:
- RABBITMQ_DEFAULT_USER=admin
- RABBITMQ_DEFAULT_PASS=mypass
ports:
- "5672:5672"
master:
build:
context: .
dockerfile: dockerfile
volumes:
- .:/app
links:
- rabbit
depends_on:
- rabbit当我执行docker-compose up时-一切都好!

Problems:,但我不能使用docker-compose up,我需要使用docker-compose master和docker-compose worker (用于工作机器和主计算机的两个单独的命令)。因此,当我执行docker-compose master -容器启动,但挂断!:

研究:我发现了,它挂掉了任务提交:
result = longtime_add.delay(count),其中longtime_add是一项任务。
完整代码:https://github.com/waryak/MastersDiploma/tree/vlad
另外,请编辑标题-我觉得它需要更清晰的标题。
发布于 2019-01-08 20:31:10
我刚试过docker-compose up rabbit master,结果成功了。这很奇怪,因为我看不到代理日志或任何其他日志中的外部差异。此外,码头文件保证,所有依赖的服务都将启动.
发布于 2019-01-08 18:19:44
有几点是简单的:(1)我没有看到您在github中为producer broker url提供的预期输出消息;(2)我找不到/src/network添加到您的pythonpath中的位置;(3)在celery.py中加载producer broker url的代码看上去是错误的,因为它正在寻找CONFIG变量,而不是variables.env文件中的PRODUCE_BROKER_URL。生产者超时的原因是如果它无法连接到代理,那么您就可以通过打印produce和worker broker URL来正确地运行。对您来说,首先在生产者中对broker_url进行硬编码可能更容易一些:
from celery.app import Celery
app = Celery(broker_url='amqp://admin:mypass/rabbit:56772')
app.send_task(name='messages.tasks.longtime_add', kwargs={})https://stackoverflow.com/questions/54096653
复制相似问题