2015-09-08 84 views
0

這裏是我的情況:AWS SQS:延遲使得可無法處理的消息

  • 我有處理多項任務的SQS隊列。這些任務可能並且通常都會失敗。他們的失敗是常見的,有些預期。
  • 當某項任務失敗時,我想在一段時間後重試它,並在一定的重試次數後使項目失敗到DLQ。我不想立即重試。

我有一個工人EB應用程序來處理這些任務。成功時,我返回200(並且任務已成功從隊列中刪除)。當它失敗時,我返回404,並且任務立即返回到隊列(並因此立即重試)。這不是我想要的,我想在重試之前推遲這個失敗的項目。

是否有可能通過可見性超時和延遲隊列的組合來做到這一點?

回答

1

回答了我自己的問題,結果發現我在錯誤的地方(SQS配置選項,而不是EB配置選項)。我正在尋找的魔術設置是EB config選項中的「錯誤可見性超時」,它允許您在返回其隊列之前控制失敗項目的時間量。