Тайм-аут функции Lamba до завершения обработки Async - PullRequest
0 голосов
/ 02 января 2019

Я пытаюсь реализовать функцию покупки, используя Lambda и Claudia.js, но моя функция Lambda заканчивается до ее завершения.Выходные данные Cloudwatch:

cloudwatch output

Извините за отсутствие верблюжьего кода в коде!(Рефакторинг, когда он работает!)

Он работает локально, поэтому должна быть ошибка, связанная с лямбда-выражением.Я попытался увеличить время ожидания лямбда-функции, которая установлена ​​на 60. Но не повезло!

В функции покупки:

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;

}    

Каждая из функций очень похожа, в которой они содержат обещание.

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

Ожидаемый результат состоит в том, что лямбда-функция будет проходить через все функции.

...