只想知道worker.py
文件中参数的含义:
def callback(ch, method, properties, body):
print " [x] Received %r" % (body,)
ch、method 和 properties 是什么意思?
只想知道worker.py
文件中参数的含义:
def callback(ch, method, properties, body):
print " [x] Received %r" % (body,)
ch、method 和 properties 是什么意思?
“ch”是进行通信的“通道”。
将 RabbitMQ 连接分为两部分:
实际的 TCP/IP 连接的创建成本很高,因此每个流程实例只需要一个连接。
通道是使用 RabbitMQ 完成工作的地方。连接中存在通道,您需要具有通道引用,以便您可以确认/确认消息等。
我认为“方法”是关于消息传递的元信息
当你想确认消息时——告诉 RabbitMQ 你已经完成了处理——你需要通道和传递标签。交付标签来自方法参数。
我不确定为什么这被称为“方法”——也许它与 AMQP 规范有关,其中“方法”是关于执行哪个 AMQP 方法的元数据?
消息的“属性”是消息的用户定义属性。您可以在这些属性中设置任何您想要的任意键/值对,并可能获取使用的路由键之类的东西(尽管这可能来自“方法”)
属性通常用于代码需要的数据位,但不是实际消息体的一部分。
例如,如果您有一个重新排序器进程来确保按顺序处理消息,则“属性”可能包含消息的序列号。