Получение состояния сообщения SQS в boto

У меня есть производитель SQS и много потребителей. Было бы очень полезно знать, может ли производитель определить, было ли конкретное сообщение удалено потребителем или нет. Есть ли способ сделать это? В настоящее время я использую boto 2.6.0.


person clh    schedule 15.11.2012    source источник


Ответы (2)


Насколько мне известно, SQS не предоставляет никакого механизма уведомления об удалении сообщения. Итак, я думаю, если вы хотите знать, когда сообщения удаляются, вам придется отслеживать это отдельно, сохраняя базу данных идентификаторов сообщений и заставляя потребителей сообщать вам идентификатор сообщения для любых сообщений, которые они удалили.

person garnaat    schedule 16.11.2012

Насколько я знаю, вы не можете отслеживать сообщение в очереди. В зависимости от вашей цели вы можете попробовать следующие вещи:

Мониторинг

Запишите результаты задания в файл журнала и, возможно, используйте что-то вроде logstash с Кибана. Если вы проявите творческий подход, вы можете даже запустить что-то прямо во что-то вроде ElasticSearch или SimpleDB.

Обратный звонок

Получатели могут запускать любой тип «обратного вызова» процессору или любому другому процессу, обновляющему определенное состояние сообщения, например, в базе данных или кэше.

Вы должны иметь в виду, что это означает, что, пока вы масштабируете свои приемники, ваш процессор также должен масштабироваться. Также следите за своими индексами, убедитесь, что ваше обновление статуса «запись» происходит быстро.

person Wilco    schedule 10.12.2012