2017-10-19 158 views
0

這裏是我的Python代碼現在:如何在python中異步發送SQS消息?

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") 

這裏是Node.js的版本:

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"); 
     } 
    }) 
} 

我的問題是,它顯著需要較長的時間使用Python腳本,因爲它發送1000條短信與Node.js異步執行同步運行。我到處尋找,我似乎無法找到任何方式在Python中異步發送消息。洞察力將不勝感激。

回答

0

boto3庫不支持異步調用。有一個庫支持S3,並在SQS上進行了一些稱爲aiobotocore的測試。這些鏈接有更多的信息:

aiobotocore

Support asyncio

+0

謝謝。我會研究這些。 – Matt