gpt4 book ai didi

RabbitMQ 的 Python 教程代码无法运行

转载 作者:行者123 更新时间:2023-12-01 19:33:57 26 4
gpt4 key购买 nike

编辑:我的设备上安装了错误版本的 pika 软件包。我从 pip 更新后工作正常。

我刚刚按照他们的 tutorial 开始学习 RabbitMQ(使用 Python)的用法。 。 send.py 代码工作正常,但是当我尝试运行 receive.py 时,我看到此错误:

Traceback (most recent call last):
File "receive.py", line 15, in <module>
no_ack=True)
TypeError: basic_consume() got multiple values for keyword argument 'queue'

这是receive.py中的代码:

#!/usr/bin/env python
import pika

connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost'))
channel = connection.channel()


channel.queue_declare(queue='hello')

def callback(ch, method, properties, body):
print(" [x] Received %r" % body)

channel.basic_consume(callback,
queue='hello',
no_ack=True)

print(' [*] Waiting for messages. To exit press CTRL+C')
channel.start_consuming()

知道我做错了什么吗?

最佳答案

您可能不再需要它了,但我遇到了与您完全相同的问题,这就是我发现的。

对我来说,RabbitMQ 文档一定使用了不同版本的 pika。我发现在 pika 1.0.0 basic_consume 函数中参数的顺序不同。这是它在我的机器上的样子:

    def basic_consume(self,
queue,
on_message_callback,
auto_ack=False,
exclusive=False,
consumer_tag=None,
arguments=None):

一旦我更改了传递的参数的顺序,或添加了关键字“on_message_callback=callback”,一切就都有效了。希望对您有所帮助!

关于RabbitMQ 的 Python 教程代码无法运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50404273/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com