将 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)
通常,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)