AWS SQS ReceiverMessage Avez-vous reçu moins de messages que ce que vous aviez demandé ?
P粉894008490
P粉894008490 2023-12-24 10:50:53
0
1
430

J'ai configuré un simple SQS et je souhaite traiter 4 messages à la fois. Lors de mes tests, il y avait 2 messages "disponibles". Lorsque je reçois le message, il ne produit que 1 à la fois. Qu'ai-je fait de mal?

sqs = boto3.client('sqs')
response = sqs.receive_message(
    QueueUrl=queue_url,
    MaxNumberOfMessages=4
)

P粉894008490
P粉894008490

répondre à tous(1)
P粉654894952

Vous n'avez rien fait de mal et ce comportement est normal.

Cela est dû à la nature distribuée de SQS (et de la plupart des services AWS). Fondamentalement, tous les nœuds n'ont pas tous les messages disponibles, et le nœud auquel vous parlez peut renvoyer n'importe quel nombre compris entre 0 et MaxNumberOfMessages, le cas échéant. Pour recevoir plusieurs messages en un seul appel, vous aurez besoin d'avoir 100 ou plus de 1 000 messages dans la file d'attente, et même dans ce cas, vous pourriez ne pas avoir de chance et recevoir très peu de messages.

De Documents :

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!