2024-04-28 23:11:22 发布
网友
我正在学习本教程:http://boto.s3.amazonaws.com/sqs_tut.html
当队列中有东西时,如何指派我的20个工作人员中的一个来处理它?
我在用Python。
如果不需要低延迟,可以尝试以下操作:
在队列上创建cloudwatch警报,如“可见消息”或“已接收消息”>;0。 作为一个操作,您将向sns主题发送一条消息,然后sns主题可以通过http/s端点将消息发送给您的工作人员。
通常这种方法用于自动缩放。
不幸的是,SQS缺少一些我们在队列中经常期待的语义。没有任何通知或阻止“get”调用。
亚马逊相关的SNS/简单的通知服务可能对你的这项工作很有用。将工作添加到队列后,可以向已订阅的工作线程发送通知。
另见:
http://aws.amazon.com/sns/
Best practices for using Amazon SQS - Polling the queue
在SQS队列上进行长轮询(现在)是可能的。
http://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/Query_QueryReceiveMessage.html
长轮询支持(整数从1到20)-ReceiveMessage操作调用将等待消息进入队列以包含在响应中的持续时间(秒),而不是在消息尚不可用时返回空响应。
如果未在请求中指定WaitTimeSeconds,则使用队列属性ReceiveMessageWaitTimeSeconds确定等待的时间。
类型:0到20之间的整数(秒)
默认值:队列的ReceiveMessageWaitTimeSeconds。
如果不需要低延迟,可以尝试以下操作:
在队列上创建cloudwatch警报,如“可见消息”或“已接收消息”>;0。 作为一个操作,您将向sns主题发送一条消息,然后sns主题可以通过http/s端点将消息发送给您的工作人员。
通常这种方法用于自动缩放。
不幸的是,SQS缺少一些我们在队列中经常期待的语义。没有任何通知或阻止“get”调用。
亚马逊相关的SNS/简单的通知服务可能对你的这项工作很有用。将工作添加到队列后,可以向已订阅的工作线程发送通知。
另见:
http://aws.amazon.com/sns/
Best practices for using Amazon SQS - Polling the queue
在SQS队列上进行长轮询(现在)是可能的。
http://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/Query_QueryReceiveMessage.html
长轮询支持(整数从1到20)-ReceiveMessage操作调用将等待消息进入队列以包含在响应中的持续时间(秒),而不是在消息尚不可用时返回空响应。
如果未在请求中指定WaitTimeSeconds,则使用队列属性ReceiveMessageWaitTimeSeconds确定等待的时间。
类型:0到20之间的整数(秒)
默认值:队列的ReceiveMessageWaitTimeSeconds。
相关问题 更多 >
编程相关推荐