我正在尝试使用Lambda和Claudia.js实现购买功能,但是我的Lambda函数在完成之前就结束了。 Cloudwatch输出:
在代码中缺少骆驼的情况下致歉! (它将在工作时进行重构!)
它在本地工作,因此必须是与lambda相关的错误。 我尝试增加设置为60的lambda函数的超时。但是没有运气!
在购买功能中:
purchaseCall(ordernumber,billingName,addressLineOne,addressCity,billing AddressState,billingAddressZip,billingAddressCountry,total,email)
正在调用的aysnc函数:
async function purchaseCall(ordernumber,billingName,addressLineOne,addressCity,billingAddressState,billingAddressZip,billingAddressCountry,total,email) {
console.log('Calling ASYNC');
var returnedRows = await CreateRows(ordernumber);
await returnedRows;
var rowdata = await RowData(returnedRows);
await rowdata;
var filename = await CreatePDF(ordernumber, billingName,
addressLineOne, addressCity, billingAddressState,
billingAddressZip, billingAddressCountry, rowdata, total);
await filename;
var sendMailGunEmail = sendMailgunEmail(ordernumber, billingName,
addressLineOne, addressCity, billingAddressState, billingAddressZip, billingAddressCountry, rowdata, total, email, filename);
await sendMailGunEmail;
var uploads3 = uploadtoS3(filename, ordernumber)
await uploads3;
return ordernumber;
}
每个功能都非常相似,其中包含一个promise。
function CreateRows(ordernumber) {
var sqltheUserID = 'SELECT statement';
return new Promise(function(resolve, reject) {
pool.query(sqltheUserID, [ordernumber], function (err, result, fields) {
if (err) {
reject(err);
} else {
console.log(result);
resolve(result);
}
});
})
}
预期结果是lambda函数将贯穿所有函数。