Отправка сообщения обратно в SQS
У меня есть несколько серверов EC2, которые вытягивают работу из очереди SQS. Иногда они сталкиваются с ситуацией, когда не удается закончить работу. У меня есть процесс, напишите мне об этом состоянии. Как сейчас, сообщение остается "в полете", пока оно не истечет. Я хотел бы, чтобы процесс немедленно отпустил его обратно в очередь после отправки сообщения электронной почты. Но я не уверен, как это сделать. Есть ли способ? Если да, можете ли вы указать мне на вызов или опубликовать фрагмент кода.
Я использую Python 2.7.3 и Boto 2.5.2.
Ответы
Ответ 1
Если вы прочитали сообщение и решили, по какой-то причине, что вы не хотите его обрабатывать, и скорее сделаете его доступным для других читателей очереди, вы можете просто установить это сообщение visibility timeout
в ноль, используя метод change_visibility
объекта Message
в boto. Подробнее см. Руководство разработчика SQS.