我正在编写一个脚本来限制/控制每个队列在达到某个阈值时的消息数量。在向队列中添加更多消息之前,我希望了解队列中有多少可用消息。
示例:用户将在几分钟内收到一条重新尝试的错误消息,因为当队列大约有100条消息挂起时,服务器正在忙着处理消息,当队列中挂起的消息低于30时,服务器将再次接受消息。
我在查看SQS方法,但没有看到任何方法来查看队列的当前大小或工作人员可用的消息- http://docs.aws.amazon.com/aws-sdk-php/latest/class-Aws.Sqs.SqsClient.html。
是否有任何方法读取队列中可用的消息?

发布于 2015-01-17 10:31:35
使用client.getQueueAttributes('ApproximateNumberOfMessages')
顺便说一句,排队的目的并不是担心一台机器有多忙--只要把消息添加到队列中,它们最终就会被处理。无论如何,警告用户这可能需要一段时间,但这并不意味着您不应该让他们提交他们的请求。
如果您有真正的大队列,请考虑添加更多的并行处理能力,例如通过自动缩放添加额外的EC2实例。
https://stackoverflow.com/questions/27998355
复制相似问题