Rumah  >  Soal Jawab  >  teks badan

AWS SQS ReceiveMessage Adakah anda menerima lebih sedikit mesej daripada yang anda minta?

Saya telah mengkonfigurasi SQS mudah dan saya mahu memproses 4 mesej sekaligus. Dalam ujian saya, ia mempunyai 2 "tersedia" mesej. Apabila saya menerima mesej, ia hanya menghasilkan 1 pada satu masa. Apa yang saya buat salah?

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

P粉894008490P粉894008490323 hari yang lalu437

membalas semua(1)saya akan balas

  • P粉654894952

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

    Anda tidak melakukan kesalahan dan tingkah laku ini adalah perkara biasa.

    Ini disebabkan oleh sifat pengedaran SQS (dan kebanyakan perkhidmatan AWS). Pada asasnya, tidak semua nod mempunyai semua mesej yang tersedia, dan nod yang anda bercakap mungkin mengembalikan sebarang nombor antara 0 dan MaxNumberOfMessages jika ada. Untuk benar-benar menerima berbilang mesej dalam satu panggilan, anda perlu mempunyai 100 atau 1000+ mesej dalam baris gilir, dan walaupun begitu anda mungkin kurang bernasib baik dan menerima sangat sedikit mesej.

    Dari Dokumen:

    balas
    0
  • Batalbalas