消息是使用初始的VisibilityTimeout
创建的,以便消息可以现在创建,但稍后(在超时到期后)处理,无论创建者为延迟此处理而有何原因。
处理队列消息的预期流程是:
VisibilityTimeout
。此超时时间应大于处理消息所需的时间。VisibilityTimeout
到期后立即重新显示,以便可以重新尝试。为防止无限重试,第2步应始于检查消息的DequeueCount:如果它大于所需的重试次数,则应将其删除,而不是处理。最好将这些消息复制到死信/毒消息队列(例如,原始队列名称加上一个-poison
后缀的队列)。默认情况下,消息的生存时间为7天。如果应用程序处理无法处理添加的大量消息,则可能会出现积压。调整TTL将确定这种积压的处理方式。 或者应用程序可能会崩溃,导致积压一直增加,直到应用程序再次启动。