将 RabbitMQ 消费者回调更改为使用 1 个参数(正文)而不是 4 个参数调用

Change RabbitMQ Consumer Callback to Invoke with 1 Argument (body) Instead of 4 Arguments

通常,pika 驱动程序,当我们设置消费者时,我们应该传递一个回调作为参数。在新消息上,鼠兔将调用带有 4 个参数的回调:ch, method, property, body.

我的回调只需要一个参数:body.

我的意思是:

def my_callback(body):
    pass

而不是:

def my_callback(ch, method, property, body):
    pass

我该如何实施?

正如@jdehesa 所说,解决方案是使用 lambda 表达式,如下所示:

lambda ch, method, property, body: my_callback(body)