我用NodeJs编写了一个AWS Lambda函数,从数据库中提取ID并将其排队到AWS SQS队列中。在部署接收消息的函数之前,它一直正常工作。以下是相关代码:
async function sendHelper(rows)
{
let i;
let params;
let res;
let sqs = new AWS.SQS({apiVersion: '2012-11-05'});
for (i = 0; i < rows.length; i++) {
params = {
MessageBody: rows[i].ID.toString(),
QueueUrl: 'https://sqs.' + process.env.AWS_REGION_NAME + '.amazonaws.com/' + process.env.AWS_ID_SHORT + '/' + process.env.SQS_VENDPERSON_QUEUE_NAME
};
res = await sqs.sendMessage(params).promise().catch(err => errorHandler(err));
console.log(res);
}
return null;
}
问题在于它没有在任何地方抛出错误。无论你给多长时间,它都只是在第一个sendMessage上超时。我已经删除了消息接收函数,问题仍然存在。一些额外的信息可能有助于解决问题,例如我一直在使用serverless进行部署。