我编写一个脚本来限制/控制每个队列达到某个阈值时的消息数量。我想在向其添加更多消息之前阅读队列中有多少可用消息。
实施例: 用户将收到一条错误消息,以便在几分钟后再次尝试,因为当队列大约有100条待处理的消息时,服务器正忙于处理消息,当队列中的待处理消息低于30时,它将再次接受消息。
我正在查看SQS PHP方法,我没有看到任何方法来查看队列的当前大小或工作人员的可用消息 - http://docs.aws.amazon.com/aws-sdk-php/latest/class-Aws.Sqs.SqsClient.html
有没有办法读取队列中可用的消息?
答案 0 :(得分:3)
使用client.getQueueAttributes('ApproximateNumberOfMessages')
如果您的队列非常大,请考虑添加更多并行处理能力,例如通过Auto Scaling添加其他EC2实例。