【问题标题】:How to get precise number of messages in Amazon Simple Queue Service?如何在 Amazon Simple Queue Service 中获取准确的消息数量?
【发布时间】:2011-08-23 22:21:16
【问题描述】:

目前,我正在调查 Amazon SQS。我正在尝试获取队列中的消息数。

我的做法是总结 ApproximateNumberOfMessages 和 ApproximateNumberOfMessagesNotVisible 的数量(我从 Queue Attributes 得到的)。

但是,亚马逊 sqs 的更新存在延迟。例如,如果我刚刚在 5 秒前将消息发送到队列,我将在队列中得到 0 条消息。将消息发送到队列后,我尝试等待 1 分钟。但是,有时它不起作用。

所以,我想知道捕获这些信息的最佳方法是什么。谢谢。

【问题讨论】:

  • 另一种方法可能是继续从队列中获取所有消息并总结列表大小。

标签: amazon-sqs


【解决方案1】:

你所做的基本上是知道这一点的唯一方法。 SQS 具有最终一致性,这意味着很难得到准确的实数。

出于调试目的,我建议记录添加到队列的请求和记录退出队列的请求。

您还可以为每条消息添加某种唯一 ID(或递增 ID),以便更轻松地跟踪它。

【讨论】:

  • 有没有可靠的方法来检查数字是否为0?我想清空一个队列,然后在它为空后将其删除(不,我无法清除,我也必须处理消息)。如果我确保在清空时没有消息添加到队列中,那么当队列中仍有消息时,我是否可以确定 ApproximateNumberOfMessages 永远不会给我 0?
猜你喜欢
  • 1970-01-01
  • 2011-01-23
  • 2020-09-18
  • 2014-08-10
  • 2015-06-23
  • 1970-01-01
  • 1970-01-01
  • 2014-10-10
  • 1970-01-01
相关资源
最近更新 更多