gpt4 book ai didi

amazon-web-services - 订阅 AWS SQS 消息

转载 作者:行者123 更新时间:2023-12-04 17:34:32 31 4
gpt4 key购买 nike

我在 AWS SQS 队列中有大量消息。这些消息将被其他来源不断推送给它。这些消息被推送到队列的频率没有适当的动态。目前,我每秒都在轮询 SQS 并检查那里是否有可用的消息。有没有更好的方法来处理这个问题,比如从 SQS 或 SNS 接收一些消息可用的通知,以便我只在需要时请求 SQS 而不是不断轮询?

最佳答案

做你想做的事情的方法是使用长轮询——而不是每秒不断地轮询,你打开一个保持打开状态的请求,直到它超时或消息进入队列。查看 ReceiveMessageRequest 的文档

ReceiveMessageRequest req = new ReceiveMessageRequest()
.withWaitTimeSeconds(Integer.valueOf(20)); // set long poll timeout to 20 sec
// set other properties on the request as well

ReceiveMessageResult result = amazonSQS.receiveMessage(req);

一个常见的使用模式是让后台线程运行长轮询并将结果推送到内部队列(例如 LinkedBlockingQueue ExecutorService )以供工作线程读取。

PS。不要忘记调用 deleteMessage 一旦你处理完结果,你就不会再次收到它。

关于amazon-web-services - 订阅 AWS SQS 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26395217/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com