Maison  >  Questions et réponses  >  le corps du texte

AWS SQS ReceiverMessage Avez-vous reçu moins de messages que ce que vous aviez demandé ?

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粉894008490P粉894008490274 Il y a quelques jours387

répondre à tous(1)je répondrai

  • P粉654894952

    P粉6548949522023-12-25 00:08:37

    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 :

    répondre
    0
  • Annulerrépondre