AWS Lambda Node.js 12.x强制退出

AWS Lambda Node.js 12.x强制退出,node.js,aws-lambda,setinterval,Node.js,Aws Lambda,Setinterval,我正在使用CloudWatch事件触发Lambda。Lambda需要在一小时内第59分钟开始的几秒钟内执行任务。为了简单起见,假设它是在DynamoDb中保存一个条目 Cloutwatch事件不能保证执行的准确时间,所以我将其设置为在一小时后58分钟触发,然后Lamaba执行下面这样的代码,我每秒调用一个函数。我将Lambda设置为90秒后超时 exports.handler = (event) => { let ddb = new AWS.DynamoDB.DocumentCli

我正在使用CloudWatch事件触发Lambda。Lambda需要在一小时内第59分钟开始的几秒钟内执行任务。为了简单起见,假设它是在DynamoDb中保存一个条目

Cloutwatch事件不能保证执行的准确时间,所以我将其设置为在一小时后58分钟触发,然后Lamaba执行下面这样的代码,我每秒调用一个函数。我将Lambda设置为90秒后超时

exports.handler = (event) => {
    let ddb = new AWS.DynamoDB.DocumentClient();
    //snip..
    setInterval(function() {
      var date = (new Date()).toISOString();
      var minutesAndSecondsOfHour = parseInt(date.slice(14,16) + date.slice(17,19);
      if(minutesAndSecondsOfHour >= 5900) {
        ddb.put(...);
        // somehow exit
      }
    
    }, 1000);
//snip
我不知道在使用成功代码执行任务后如何退出lambda。我已尝试“process.exit(0)”,但如果使用保存到DynamoDb,则无法完成


如果我删除
进程。退出(0)
并让Lambda超时,则保存到DynamoDb会工作,但Lambda退出时会出现超时错误。

停止间隔。您可以在此基础上进行扩展吗?在达到时间并保存条目后,您的间隔会继续运行(不必要)。所以,在它到达时间后停止它。我不知道clearInterval(..)方法。成功了。谢谢您想添加一个答案以便我可以接受吗。