You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

远程VM启动Celery Worker:如何指定RabbitMQ的IP、用户名及密码?

解决Celery Worker指定远程RabbitMQ连接信息的问题

问题描述

执行启动命令 celery -A shop worker -l info 时,Worker默认连接本地RabbitMQ(amqp://guest:**@localhost:5672//),需要指定远程RabbitMQ的IP、用户名和密码。

解决方法

1. 命令行直接指定

启动Worker时通过--broker参数传入完整的RabbitMQ连接URL,格式为:amqp://用户名:密码@RabbitMQ_IP:端口/虚拟主机

示例命令:

celery -A shop worker -l info --broker=amqp://your_user:your_password@192.168.1.100:5672//

注意:如果RabbitMQ设置了虚拟主机,把末尾的//替换为/your_vhost;如果密码包含特殊字符,需要URL编码(比如@换成%40)。

2. 在Celery应用中配置

在你的shop应用配置里直接指定broker参数,修改Celery实例初始化代码:

from celery import Celery

app = Celery('shop')
# 配置RabbitMQ连接信息
app.conf.broker_url = 'amqp://your_user:your_password@192.168.1.100:5672//'

之后启动Worker时无需额外参数,直接执行celery -A shop worker -l info即可。

3. 使用环境变量

设置环境变量CELERY_BROKER_URL,Worker会自动读取:

export CELERY_BROKER_URL='amqp://your_user:your_password@192.168.1.100:5672//'
celery -A shop worker -l info

这种方式适合不想硬编码或频繁切换环境的场景。

内容的提问来源于stack exchange,提问作者Coolmike

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 09:33:18