我已经配置了一个 AWS Lambda,如果特定的 SQS 队列接收到消息,它将被触发,然后它将使用并处理该消息。如果发生任何异常,lambda 将重试 2 次,如果再次失败,则消息将转到 DLQ。
SQS 配置:
Dead-letter queue: Enabled
Default visibility timeout: 90 minutes
Receive message wait time: 0 Seconds
Delivery delay: 0 Seconds
Maximum message size: 256 KB
Message retention period: 4 Days
Content-based deduplication: ON
Enable high throughput FIFO: OFF
FIFO throughput limit: Per QUEUE
Deduplication scope: QUEUE
DLQ-->
Enabled: True
Maximum Receive: 10
Lambda 配置:
Timeout: 15min 0sec
Maximum age of event: 6 hours
Retry attempts: 2
一切正常。lambda 为错误场景重试了 2 次,然后将数据发送到 DLQ。但是现在,突然之间,一条消息在飞行中停留了 15 个小时。现在,由于最大接收设置为 10,它在进入 DLQ 之前重试了 10 次。这可能是什么原因?