Iam将邮件发送到队列并在rails应用程序中使用亚马逊sqs队列系统。但由于队列遵循FIFO流程,因此它将以相同的方式获取下一个项目。假设如果我有一个队列中的100个项目,我如何从队列中检索第35个项目并处理它。据我所知,amazon sqs没有提供这样的方法。那么是否有任何其他方法/解决方法可以实现此功能。如何检索亚马逊sqs和ruby队列中的第n个项目
0
A
回答
1
没有办法做到这一点; SQS不保证队列中物品的顺序由于其地理上的冗余性质;它甚至不能保证FIFO。如果您绝对必须按顺序处理事情,并且需要在队列中“向前看”的能力,SQS可能不是您的最佳选择。也许像DynamoDB这样的定制队列可能会更好。
0
SQS旨在保证至少一次交付并且不考虑消息的顺序。所以对于你是否可以这样做的问题的简单回答是否定的。
一个解决将取决于你的用例:
不同工艺处理队列中的消息,使中拆分工作,确保他们不都处理相同的项目 - 不同的队列是一种方法,或者在每个消息前加上一个标识符来表示哪个进程应该在其上工作。例如,如果我有4个守护进程正在运行,我可以在队列中为每个消息加上应该在其上运行的进程的ID - 1,2,3或4。每个进程只会处理与其对应的编号的消息ID。
到达顺序至关重要 - 在这种情况下,最好不要使用SQS,因为它不能用于这种方式。 CloudAMQP是基于云的服务,基于RabbitMQ,这是一个真正的FIFO队列,并且比SQS更适合这种情况。
相关问题
- 1. 亚马逊SQS子队列
- 2. Laravel队列与亚马逊SQS
- 3. 亚马逊SQS消息队列
- 4. 如何运行队列和配置Laravel ENV亚马逊SQS
- 5. 亚马逊SQS队列:获得排队响应
- 6. 亚马逊SQS监听器
- 7. 亚马逊SQS - 让x秒
- 8. 使用亚马逊SQS的最佳做法 - 轮询队列
- 9. 将共享sqs队列添加到亚马逊控制台
- 10. 使用SQS发送Laravel队列消息亚马逊
- 11. 亚马逊SQS中的邮件数量
- 12. 没有BOTO的亚马逊SQS
- 13. 失败的亚马逊SQS请求
- 14. 替代亚马逊SQS的Python
- 15. Spring与亚马逊SQS的集成
- 16. 亚马逊ASIN - 亚马逊标准项目编号
- 17. linode vs亚马逊ec2 vs heroku项目与亚马逊s3
- 18. 如何检索亚马逊api产品价格只为亚马逊merchantID
- 19. 亚马逊SQS签名错误
- 20. 亚马逊SNS - > SQS邮件正文
- 21. 发送XML消息给亚马逊SQS
- 22. 亚马逊SQS字符编码问题
- 23. 如何搜索iPhone上的亚马逊产品/项目?
- 24. 如何获得Java中队列中的第n个项目?
- 25. 如何配置Elasticsearch以从亚马逊SQS中提取消息
- 26. 从亚马逊(api)检索fba卖家
- 27. 无法检索亚马逊证书
- 28. 如何获取,按项目显示亚马逊商城列表?
- 29. 搜索亚马逊只返回10个项目
- 30. 是否有亚马逊API来搜索亚马逊的歌曲?