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

相关内容

热门资讯

来临!宁波同乡游辅助下载(辅助... 来临!宁波同乡游辅助下载(辅助)总是存在有辅助神器(讲解有挂)1、宁波同乡游辅助下载免费辅助多个强度...
教程辅助挂!闲来辅助器免费(辅... 教程辅助挂!闲来辅助器免费(辅助)果然是有辅助器(有挂秘诀)进入游戏-大厅左侧-新手福利-激活码辅助...
攻略辅助挂!微信小程序功夫川麻... 攻略辅助挂!微信小程序功夫川麻小程序辅助(辅助)一贯存在有辅助脚本(有挂技术)1、许多玩家不知道微信...
据悉!情怀国粹麻将开挂(辅助)... 据悉!情怀国粹麻将开挂(辅助)其实是有辅助app(有挂教学)1、让任何用户在无需情怀国粹麻将开挂安装...
出乎意料的是!暗宝破解器(辅助... 出乎意料的是!暗宝破解器(辅助)竟然是有辅助挂(有挂神器)在进入暗宝破解器软件靠谱后,参与本局比赛的...
更值得关注的是!山西扣点点辅助... 更值得关注的是!山西扣点点辅助挂定制交易平台(辅助)果然确实有辅助神器(有挂头条)1)山西扣点点辅助...
黑科技攻略!透视软件app(辅... 黑科技攻略!透视软件app(辅助)好像存在有辅助教程(有挂技术)1、黑科技攻略!透视软件app(辅助...
昨日!方片十三张脚本(辅助)原... 昨日!方片十三张脚本(辅助)原来存在有辅助插件(有挂技巧)1、用户打开应用后不用登录就可以直接使用,...
第三方辅助挂!蛮王大厅脚本辅助... 第三方辅助挂!蛮王大厅脚本辅助(辅助)其实真的有辅助方法(有挂方针)1.蛮王大厅脚本辅助 选牌创建新...
黑科技攻略!微信小程序里的微乐... 黑科技攻略!微信小程序里的微乐可以开挂吗(辅助)原来真的是有辅助app(有挂猫腻)亲,关键说明,微信...