Celery:消费者:无法连接到amqp:// guest:** @ 127.0.0.1:5672 //:[Errno 92]协议不可用

时间:2017-08-14 14:42:17

标签: python windows ubuntu celery

我一直收到这个错误,但我不知道为什么。我在Windows 10上使用Ubuntu,芹菜曾经很好地工作。然后发生了一些事情,我不断收到这个错误。我用celery docs来学习。

这是task.py:

{
    title: 'Column A',
    field: 'ColumnA',
    sortable: {
        initialDirection: "asc"
    },
    hidden: true
},
{
    title: 'ShowToolTip',
    field: 'ShowToolTip',
    width: 500,
    attributes: {
      tooltip: true
    }
},
{
    title: 'NoToolTip',
    field: 'NoToolTip'
},

这是我得到的错误:

from celery import Celery

app = Celery('tasks', broker='pyamqp://guest@localhost//')

@app.task
def add(x, y):
    return x + y

为了启动Celery,我输入:

[2017-08-14 17:34:04,436: ERROR/MainProcess] consumer: Cannot connect to amqp://guest:**@127.0.0.1:5672//: [Errno 92] Protocol not available.
Trying again in 2.00 seconds...

[2017-08-14 17:34:06,453: ERROR/MainProcess] consumer: Cannot connect to amqp://guest:**@127.0.0.1:5672//: [Errno 92] Protocol not available.
Trying again in 4.00 seconds...

[2017-08-14 17:34:10,465: ERROR/MainProcess] consumer: Cannot connect to amqp://guest:**@127.0.0.1:5672//: [Errno 92] Protocol not available.
Trying again in 6.00 seconds...

[2017-08-14 17:34:16,480: ERROR/MainProcess] consumer: Cannot connect to amqp://guest:**@127.0.0.1:5672//: [Errno 92] Protocol not available.
Trying again in 8.00 seconds...

1 个答案:

答案 0 :(得分:2)

你最近更新了amqp吗?

似乎从Linux子系统连接到RabbitMQ实例是不可能的,因为版本超过了2.1.2 du to socket witchery。

https://github.com/celery/py-amqp/issues/145

我建议尝试Celery可能支持的其他后端,我将尝试redis。降级至至少RabbitMQ 2.1.2也可能解决问题。