如何识别送达通知中的消息?
How to identify the message in a delivery notification?
在鼠兔中,我调用了channel.confirm_delivery(on_confirm_delivery)
以便在消息传递成功(或传递失败)时得到通知。然后,我调用 channel.basic_publish
来发布消息。一切都是异步执行的。
如何在调用on_confirm_delivery
回调时找到关注的消息?在参数中,作为参数传递给回调的对象中唯一变化的信息是delivery_tag
,这似乎是一个自动递增的数字。但是,basic_publish
没有 return 任何送货标签。
换句话说,如果我调用 basic_publish
两次,当我收到确认消息时,我怎么知道是第一条消息还是第二条消息被确认?
从 RabbitMQ 文档中,我发现:
Delivery tags are monotonically growing positive integers and are presented as such by client libraries.
因此,您可以在每个频道的代码中保留一个不断增长的整数,当频道打开时将其设置为 0,当您发布消息时将其增加。然后这个整数将与 delivery_tag
.
相同
在鼠兔中,我调用了channel.confirm_delivery(on_confirm_delivery)
以便在消息传递成功(或传递失败)时得到通知。然后,我调用 channel.basic_publish
来发布消息。一切都是异步执行的。
如何在调用on_confirm_delivery
回调时找到关注的消息?在参数中,作为参数传递给回调的对象中唯一变化的信息是delivery_tag
,这似乎是一个自动递增的数字。但是,basic_publish
没有 return 任何送货标签。
换句话说,如果我调用 basic_publish
两次,当我收到确认消息时,我怎么知道是第一条消息还是第二条消息被确认?
从 RabbitMQ 文档中,我发现:
Delivery tags are monotonically growing positive integers and are presented as such by client libraries.
因此,您可以在每个频道的代码中保留一个不断增长的整数,当频道打开时将其设置为 0,当您发布消息时将其增加。然后这个整数将与 delivery_tag
.