내 애플리케이션에 AWS 람다를 사용하여 약속을 사용하여 Dynamo에서 여러 레코드를 가져옵니다. 처음에는 context.callbackWaitsForEmptyEventLoop = true로 설정 했으므로 핸들러는 약속이 해결 될 때까지 대기합니다. 약속이 해결되면 context.callbackWaitsForEmptyEventLoop = false로 설정하고 callback (null)을 호출합니다.이전 이벤트의 큐를 실행중인 AWS 람다 함수
약속이 해결 된 후에 callbackWaitsForEmptyEventLoop = false를 설정하지 않으면 콜백 (null)을 호출 한 후에도 함수가 시간 초과됩니다 (일부 라이브러리 함수는 여전히 이벤트 대기열에있을 수 있음).
문제는 런타임이 다시 다음 번에 사용되는 경우, 다시 시작하지 않고 이벤트 대기열의 이전에 남은 기능이 다시 시작되는 것입니다. 이전 이벤트 큐를 비우는 방법이 있습니까?
context.callbackWaitsForEmptyEventLoop = true;
allPromises = getDatafromDynamo();
allPromises.then(results => {
console.log('Results are', JSON.stringify(results));
context.callbackWaitsForEmptyEventLoop = false;
callback(null, 'DONE');
return;
}).catch((err) => {
console.log("Error occurred", err);
context.callbackWaitsForEmptyEventLoop = false;
callback(err);
});