TIM*_*MEX 14 python queue callback amazon-sqs amazon-web-services
我正在关注本教程:http://boto.s3.amazonaws.com/sqs_tut.html
当队列中有什么东西时,如何指定我的20名工作人员之一来处理它?
我正在使用Python.
Nic*_*ght 12
不幸的是,SQS缺乏我们在队列中经常出现的一些语义.没有通知或任何阻止"获取"呼叫.
亚马逊相关的SNS /简单通知服务可能对您有所帮助.将工作添加到队列后,您可以向订阅的工作人员发送通知.
也可以看看:
小智 9
通过SQS队列上的长轮询,这(现在)可以实现.
http://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/Query_QueryReceiveMessage.html
长轮询支持(1到20之间的整数) - ReceiveMessage操作调用将等待消息在队列中包含在响应中的持续时间(以秒为单位),而不是如果消息尚未返回空响应可用.
如果未在请求中指定WaitTimeSeconds,则使用队列属性ReceiveMessageWaitTimeSeconds来确定等待的时间.
类型:0到20之间的整数(秒)
默认值:队列的ReceiveMessageWaitTimeSeconds.
小智 7
实际如果你不需要低延迟,你可以试试这个:
在队列中创建云观察警报,例如可见消息或收到的消息> 0.作为操作,您将向sns主题发送消息,然后可以通过http/s端点将消息发送给您的工作人员.
通常这种方法用于自动缩放.
进一步指出SQS的问题 - 您必须轮询新通知,并且无法保证在任何特定轮询中您将收到队列中存在的事件(这是由于其架构的冗余).这意味着你需要考虑你的轮询没有返回存在的消息的可能性(这对我来说意味着我需要提高轮询率).
总而言之,我发现SQS有太多限制(正如我在其他一些AWS工具中发现的那样,例如SimpleDB).但这只是我注意到的意见.
| 归档时间: |
|
| 查看次数: |
11732 次 |
| 最近记录: |