gpt4 book ai didi

c# - RabbitMQ 批量消费消息并一次性确认

转载 作者:行者123 更新时间:2023-12-05 02:29:12 26 4
gpt4 key购买 nike

我有一个 RabbitMQ 队列,我在其中发布了数千条消息。我需要一个后台服务:

  • 以 100 条消息为一组检索消息
  • 将这 100 条消息存储在数据库中
  • 一次确认所有 100 条消息
  • 继续处理下一批 100 条消息

我正在使用 RabbitMQ 客户端来监听消息,但我不知道如何“批处理”它们。

有没有人有关于如何一次获取 100-100 条消息并在它们保存在数据库中后立即确认它们的工作示例?

提前致谢

最佳答案

您想使用“预取”和“多确认”功能 -

这是您将在代码中执行的操作:

  • 打开连接和 channel
  • 将 channel 预取设置为 100
  • 启动消费者。您为消费者注册的回调将开始被消息调用。您必须将这些消息保存在列表或其他数据结构中
  • 收到 100 条消息后,保存第 100 条消息的发送标签并进行数据库操作。
  • 通过将“multi ack”设置为 true 来确认 100 条消息,并使用第 100 条消息的传递标签。
  • RabbitMQ 将以相同的方式发送接下来的 100 条消息

注意:RabbitMQ 团队监控rabbitmq-users mailing list并且只是偶尔在 StackOverflow 上回答问题。

关于c# - RabbitMQ 批量消费消息并一次性确认,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72315840/

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