我有很长的轮询设置(使用Amazon SQS客户端库)来提取消息,但是这些主机不需要读取和删除某些消息,因此会跳过它们。我想知道是否有办法告诉我的下一个长轮询请求跳过那些被排除的消息?
我的最终目标是使用长轮询设置来处理来自队列的消息,而不对某些被排除的消息执行完成块。我应该使用更好的方法吗?
答案 0 :(得分:1)
如果你真的不打算使用某些消息,你应该首先将它们放入队列中(如果可能的话),如果不是,那么检测“坏”消息的进程应该删除他们来自队列。
第三个选项,如果最终将要使用这些消息,那么这只是值得做的就是将它们放在自己的队列中。拥有多个队列没有额外成本,因此如果有意义,请使用更多队列。