celery報連線錯誤進程守護無法連線Cannot connect to amqp://guest:**@127.0.0.1:5672//: [Errno 111] Connection refuse

2020-08-14 11:06:39

一、文章貢獻

安裝rabbitMQ的部分,來自於
https://www.jb51.net/article/174857.htm

二、報錯資訊

Cannot connect to amqp://guest:**@127.0.0.1:5672//: [Errno 111] Connection refused

有的是執行這行程式碼時報錯

celery -A celery_tasks.main worker -l info

有些是執行上面程式碼成功連線,但是執行下面 下麪進程守護的時候報錯

celery multi start w1 -A celery_tasks.main -l info --logfile=./celerylog.log --pidfile=./celerypid.pid

三、提供兩個可能導致錯誤的原因和方案

1.沒有安裝rabbitMQ,下面 下麪提供安裝方法

首先檢視系統內是否有rabbitmq

ps -aux|grep rabbitmq
或
service rabbitmq-server status

安裝
進入/etc/yum.repos.d/ 資料夾

cd /etc/yum.repos.d

建立rabbitmq-erlang.repo 檔案

vi rabbitmq-erlang.repo

輸入以下內容

name=rabbitmq-erlang
baseurl=https://dl.bintray.com/rabbitmq-erlang/rpm/erlang/21/el/7
gpgcheck=1
gpgkey=https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
repo_gpgcheck=0
enabled=1

建立rabbitmq.repo 檔案

vi rabbitmq.repo

輸入以下內容

[bintray-rabbitmq-server]
name=bintray-rabbitmq-rpm
baseurl=https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/v3.8.x/el/8/
gpgcheck=0
repo_gpgcheck=0
enabled=1

開始安裝rabbitmq

yum install rabbitmq-server

rabbitmq服務的開啓、關閉重新啓動等命令

開啓
service rabbitmq-server start
關閉
service rabbitmq-server stop
檢視狀態
service rabbitmq-server status
重新啓動
service rabbitmq-server restart
2.celery版本不正確,下面 下麪提供幾個正確的版本

首先檢視rabbitmq的版本號,檢視命令有兩種,有的rabbitmq版本支援第一種檢視方法,有的支援第二種檢視方法

方法一
rabbitmqctl status
方法二
rabbitmqctl status | grep rabbit

如果rabbitmq版本是3.8.6
celery推薦4.1.1 4.2.2 4.3.0 4.4.5 4.4.6,
之前我直接pip install celery下載的是4.4.7版本的celery,死活連不上

pip3 install celery==4.3.0

如果rabbitmq版本是3.6.10
celery推薦3.1.26.post2

pip3 install celery==3.1.26.post2

我只測了這麼多,至於其他的版本,大家如有有閒工夫了可以自己試試