本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
确认队列为空
大多数情况下,您可以使用长轮询以确定队列为空。在极少数情况下,即使队列仍包含消息,也可能会收到空响应,尤其是如果您为接收消息等待时间当您创建队列时。此部分介绍如何确认队列为空。
确认队列为空(控制台)
-
阻止所有制作者发送消息。
在打开 Amazon SQS 控制台https://console.aws.amazon.com/sqs/
. -
在导航窗格中,选择 Queues (队列)。
-
在存储库的队列页面上,选择队列。
-
选择监控选项卡。
-
在监控仪表板的右上角,选择刷新符号旁边的向下箭头。从下拉菜单中,选择自动刷新. 离开刷新间隔在1 分钟.
-
观察以下仪表板:
-
延迟的消息大概数
-
不可见的消息大致数
-
可见消息的大致数量
当他们都显示时
0
值为数分钟,说明队列为空。 -
要确认队列为空 (Amazon CLI、AmazonAPI)
-
阻止所有制作者发送消息。
-
重复运行以下命令之一:
-
Amazon CLI:
get-queue-attributes
-
Amazon API:
GetQueueAttributes
-
-
观察以下属性的指标:
-
ApproximateNumberOfMessagesDelayed
-
ApproximateNumberOfMessagesNotVisible
-
ApproximateNumberOfMessages
什么时候都是
0
在数分钟内队列为空。 -
如果你依靠亚马逊CloudWatch指标,请确保在考虑该队列为空之前看到多个连续的零数据点。有关CloudWatch指标,请参阅Amazon SQS 的可用 CloudWatch 指标.