确认队列为空 - Amazon Simple Queue Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

确认队列为空

在大多数情况下,您可以使用长轮询来确定队列是否为空。在极少数情况下,即使队列中仍包含消息,您也可能会收到空响应,特别是在您在创建队列时为接收消息等待时间指定了较低的值时。本节将介绍如何确认队列为空。

确认队列为空(控制台)
  1. 阻止所有创建者发送消息。

  2. 通过以下网址打开 Amazon SQS 控制台:https://console.aws.amazon.com/sqs/

  3. 在导航窗格中,选择 Queues (队列)。

  4. 队列页面,选择队列。

  5. 选择监控选项卡。

  6. 在“监控”仪表板的右上角,选择“刷新”符号旁边的向下箭头。从下拉菜单中,选择自动刷新。将刷新间隔保留为 1 分钟

  7. 观察以下仪表板:

    • 延迟的消息的大致数量

    • 不可见消息的大致数量

    • 可见消息的大致数量

    当它们全部显示几分钟的 0 值时,队列为空。

确认队列是否为空(Amazon CLI, Amazon API)
  1. 阻止所有创建者发送消息。

  2. 重复运行以下命令之一:

  3. 观察以下属性的指标:

    • ApproximateNumberOfMessagesDelayed

    • ApproximateNumberOfMessagesNotVisible

    • ApproximateNumberOfMessagesVisible

    当它们全部为几分钟的 0 时,队列为空。

如果您依赖Amazon CloudWatch 指标,请确保连续看到多个零数据点,然后再考虑该队列为空。有关 CloudWatch 指标的更多信息,请参阅亚马逊 SQS 的可用 CloudWatch 指标