寫好celery任務文件,使用celery -A app worker --loglevel=info啟動時,報告如下錯誤:
[2019-01-29 01:19:26,680: ERROR/MainProcess] consumer: Cannot connect to amqp://sunlight:**@127.0.0.1:5672/celery: [Errno 104] Connection reset by peer.
Trying again in 4.00 seconds...
檢查了很久,終於發現是celery配置的broker的url寫錯了,
rabbitmqctl add_user sunlight sunlight123
rabbitmqctl add_vhost /celery
rabbitmqctl set_permissions -p /celery sunlight ".*" ".*" ".*"
app = Celery(__name__, broker="amqp://sunlight:sunlight123@localhost:5672/celery", backend="redis://localhost")
上門的標紅處,顯然是錯誤的,應該替換為如下:
app = Celery(__name__, broker="amqp://sunlight:sunlight123@localhost:5672//celery", backend="redis://localhost")
即可解決問題。