2

我有一个 SQS 生产者和很多消费者。知道生产者是否可以判断特定消息是否已被消费者删除将非常有帮助。有没有办法做到这一点?我目前正在使用 boto 2.6.0。

4

2 回答 2

2

据我所知,SQS 没有提供任何消息被删除时的通知机制。因此,我认为如果您想知道消息何时被删除,您必须通过保存消息 ID 的数据库并让消费者告诉您他们已删除的任何消息的消息 ID 来单独跟踪该消息。

于 2012-11-16T15:22:51.317 回答
0

据我所知,您无法跟踪队列中的消息。根据您的目标,您可以尝试以下操作:

监控

将作业的结果写入日志文件,并可能使用类似logstashKibana的东西。如果你有创意,你甚至可以直接将东西放入 ElasticSearch 或 SimpleDB 之类的东西中。

打回来

接收器可以向处理器或任何其他进程触发任何类型的“回调”,以更新例如数据库或缓存中的某个消息状态。

您必须记住,这意味着当您扩大接收器时,您的处理器也必须扩大。还要留意你的索引,确保你的状态更新“写”很快。

于 2012-12-10T22:18:40.667 回答