AWSFIFOSQS:当消息卡在DLQ中时,SQS如何在组中维护顺序?
创始人
2024-09-25 12:00:50
0

当使用FIFO队列时,SQS将在保留原始消息顺序方面提供有限的“最佳努力”。如果消息被发送到Dead-Letter队列(DLQ),该消息的顺序将由发送到DLQ队列的所有消息的顺序决定。因此,如果一个消息在队列上卡住并且被发送到DLQ,它将在DLQ队列中按照原来消息在FIFO队列中的顺序排列。

以下是一个使用Python的代码示例,用于测试这种情况:

import boto3 import json

sqs_client = boto3.client('sqs')

queue_url = 'https://sqs.us-west-2.amazonaws.com/111111111111/test.fifo' dlq_queue_url = 'https://sqs.us-west-2.amazonaws.com/111111111111/test-dlq.fifo'

NUM_OF_MESSAGES = 10

Send messages to SQS queue

for i in range(NUM_OF_MESSAGES): response = sqs_client.send_message( QueueUrl=queue_url, MessageGroupId='test_group', MessageDeduplicationId=f'test_msg_{i}', MessageBody=f'Test message {i}', ) print('Sent message:', response['MessageId'])

Receive messages from SQS queue

response = sqs_client.receive_message( QueueUrl=queue_url, MaxNumberOfMessages=NUM_OF_MESSAGES, WaitTimeSeconds=3, )

Simulate a message getting stuck in DLQ

if response['ResponseMetadata']['HTTPStatusCode'] == 200: message = response['Messages'][0] receipt_handle = message['ReceiptHandle'] response = sqs_client.change_message_visibility( QueueUrl=queue_url, ReceiptHandle=receipt_handle, VisibilityTimeout=0, ) print('Simulating a message getting stuck in DLQ:', message['MessageId'])

# Move message to DLQ
response = sqs_client.send_message(
    QueueUrl=dlq_queue_url,
    MessageGroupId='test_group',
    MessageDeduplicationId=message['MessageId'],
    MessageBody=message['Body'],
)
print('Moved message to DLQ:', response['MessageId'])

Receive messages from DLQ

response = sqs_client.receive_message( QueueUrl=dlq_queue_url, MaxNumberOfMessages=NUM_OF_MESSAGES, WaitTimeSeconds=3, )

if response['ResponseMetadata']['HTTPStatusCode'] == 200: print('Received messages from DL

相关内容

热门资讯

关于!微信微乐自建房辅助工具,... 关于!微信微乐自建房辅助工具,微乐家乡麻将自建房辅助app(开挂自建房)方法1)微乐家乡麻将自建房辅...
大家学习交流!微信卡五星辅助器... 大家学习交流!微信卡五星辅助器,微乐小程序免费黑科技(开挂自建房)方法1、很好的工具软件,可以解锁游...
三分钟了解!微乐微信自建房辅助... 三分钟了解!微乐微信自建房辅助工具插件,微乐家乡麻将自建房辅助app(开挂自建房)工具1、三分钟了解...
一分钟教会你!微乐家乡麻将自建... 一分钟教会你!微乐家乡麻将自建房辅助app,微乐自建房脚本免费入口(开挂自建房)方法1、用户打开应用...
分享实测!微信微乐自建房辅助工... 分享实测!微信微乐自建房辅助工具,微乐自建房脚本免费入口(开挂自建房)器1、起透看视 微信微乐自建房...
重大通报!微乐自建房辅助工具脚... 重大通报!微乐自建房辅助工具脚本,微乐小程序免费黑科技(开挂自建房)app微乐自建房辅助工具脚本破解...
如何分辨真伪!微乐微信自建房辅... 如何分辨真伪!微乐微信自建房辅助工具插件,微乐小程序免费黑科技(开挂自建房)技巧1、微乐微信自建房辅...
我来教教你!微乐自建房辅助工具... 我来教教你!微乐自建房辅助工具挂,微乐家乡麻将自建房辅助app(开挂自建房)工具1、玩家可以在微乐家...
重大来袭!微乐自建房辅助工具神... 重大来袭!微乐自建房辅助工具神器,微乐小程序免费黑科技(开挂自建房)器1、游戏颠覆性的策略玩法,独创...
带你了解!微信卡五星辅助器,微... 带你了解!微信卡五星辅助器,微乐自建房脚本免费入口(开挂自建房)方法1、带你了解!微信卡五星辅助器,...