我一直在测试发送消息和从 SQS 队列接收消息所需的时间。平均需要 800-1200 毫秒,这似乎是一段荒谬的时间。这是我的测试代码,如果我做错了什么,请告诉我。
var t0;
sendMessage('hello');
function sendMessage(message){
var params = {
MessageBody: message,
QueueUrl: queueUrl
};
t0 = now();
sqs.sendMessage(params, function(err,data){
if(err){
throw err;
} else {
console.log("Message Send Confirmation");
}
});
unbatch();
}
async function unbatch(){
var params = {
QueueUrl: queueUrl,
MaxNumberOfMessages: 10
};
var go = true;
while(go){
console.log("Polling...");
sqs.receiveMessage(params, function(err, data){
if(data.Messages){
console.log("Message Received");
console.log("Total Time: " + ((now() - t0)/1000));
go = false;
var deleteParams = {
QueueUrl: queueUrl,
ReceiptHandle: data.Messages[0].ReceiptHandle
}; …Run Code Online (Sandbox Code Playgroud) 我正在尝试获取SQS队列中当前可用的大约消息数.根据文档,我需要使用getQueueAttributes,但我似乎无法让它工作.我究竟做错了什么?
var params = {
QueueUrl : queueUrl,
AttributeName : 'ApproximateNumberOfMessages'
}
sqs.getQueueAttributes(params, function(err, data){
console.log(data)
//console.log(data.Attributes.ApproximateNumberOfMessages)
})
Run Code Online (Sandbox Code Playgroud)
它继续为数据返回null.