AWS Lambda рекурсивный, не может быть успешным, чтобы сделать это правильно - PullRequest
0 голосов
/ 14 ноября 2018

Привет, я хотел бы вспомнить лямбда-функцию, когда context.getRemaingTimeInMillis () меньше 1 минуты.Итак, у меня есть это:

for (actions of commandArray) {
 while (context.getRemainingTimeInMillis() > 60000) {
    switch(actions.action) {
       case: do something
       case: etc..
    }
  }
}
let done = then I check if I am satisfied with results
if (done){
save results 
} else {
sendSQS(recurseMessage);
}

Я получаю бесконечный цикл (конечно), но я попытался:

for (actions of commandArray) {
if (context.getRemainingTimeInMillis() > 60000) {
    switch(actions.action) {
       case: do something
       case: etc..
    }
  } else { 
     break;
}
let done = then I check if I am satisfied with results
if (done){
save results 
} else {
sendSQS(recurseMessage);
}

, но это действует странно, никогда не бывает случая (случай длинной сессии)и моя лямбда не получает тайм-аут, например, она завершает все 230 итераций, и я установил лямбда-время на 3 минуты.

...