0

Hier ist mein Python-Code jetzt:Wie SQS-Nachricht asynchron in Python senden?

sqs = boto3.resource('sqs') 
queue = sqs.get_queue_by_name(Queue='test') 
msg = 'hello world' 
for i in range(0,1000): 
    queue.send_message(MessageBody = msg) 
    print("Message Sent") 

Und hier ist die Node.js Version:

var sqs = new AWS.SQS({apiVersion: '2012-11-05'}); 
var params = { 
    MessageBody: 'hello world', 
    QueueUrl: // Queue URL here 
}; 
for(var i = 0; i < 1000; i++){ 
    sqs.sendMessage(params, function(err,data){ 
     if(err){ 
      throw err; 
     } else { 
      console.log("Message Sent"); 
     } 
    }) 
} 

Mein Problem ist, dass es wesentlich länger dauert, weil es 1000 Meldungen über das Python-Skript schicken Wird synchron zu Node.js ausgeführt und tut dies asynchron. Ich habe überall nachgesehen und finde keine Möglichkeit, Nachrichten asynchron in Python zu senden. Einblick würde sehr geschätzt werden.

Antwort

0

Die Bibliothek boto3 unterstützt keine asynchronen Aufrufe. Es gibt eine Bibliothek, die S3 mit einigen Tests auf SQS namens aioboticore unterstützt. Diese Links haben weitere Informationen:

aiobotocore

Support asyncio

+0

Danke. Ich werde in diese schauen. – Matt