假設消費者消費了一條 SQS 訊息,并且在可見性超時內,消費者給出了錯誤。現在 SQS 將嘗試重試訊息,那么是在訊息的當前可見性超時完成后完成,還是盡快完成?
uj5u.com熱心網友回復:
當使用 檢索來自 Amazon SQS 佇列ReceiveMessage()的訊息時,該訊息將被標記為不可見。
當作業人員完成處理訊息時,它應該呼叫DeleteMessage(),并傳遞訊息的 ReceiptHandle。
如果 SQS 佇列在超時期限內沒有收到DeleteMessage()請求,則訊息將重新出現在佇列中進行處理。
Amazon SQS 不知道“消費者何時給出錯誤”。它所知道的是是否對 SQS 進行了 API 呼叫以洗掉訊息,或者請求延長不可見期。(如果 AWS Lambda 訪問 SQS,情況會略有不同,但我假設您的情況并非如此。)
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/439829.html
上一篇:SQLServer中的DATALENGTH()是否替代Oracle中的LENGTH()
下一篇:AWSS3策略限制檔案夾洗掉
