O erro "message not exist" ocorre quando você exclua uma mensagem no Simple Message Queue (formerly MNS) com um receipt handle expirado. Ajuste o parâmetro VisibilityTimeout para resolver este problema.
Problema
A seguinte mensagem de erro aparece quando você exclua uma mensagem no SMQ:
message not exist
Causa
O receipt handle torna-se inválido após o fim do visibility timeout period:
Quando um consumidor recebe uma mensagem, seu status muda de ativo para inativo.
Durante o
visibility timeout period, é possível excluir a mensagem.Após o fim do
visibility timeout period, a mensagem volta ao estado ativo. Outros consumidores podem consumi-la, o que invalida o receipt handle.Excluir uma mensagem com um receipt handle inválido gera o erro "message not exist".
Solução
Defina o VisibilityTimeout para um valor que garanta tempo suficiente para processar e excluir as mensagens, e exclua a mensagem na próxima vez que for recebida. Considere as seguintes contrapartidas:
Um valor muito pequeno pode não fornecer tempo suficiente para excluir a mensagem antes de o receipt handle expirar.
Por outro lado, um valor muito alto para
VisibilityTimeoutatrasa o reprocessamento após uma tentativa com falha.