gpt4 book ai didi

javascript - 如何在aws lambda函数中使用setInterval

转载 作者:太空宇宙 更新时间:2023-11-04 03:06:02 25 4
gpt4 key购买 nike

使用 setInterval 函数连续调用相同的 lambda 函数时,我遇到了困难。

lambda 函数

var MongoClient = require('mongodb').MongoClient
, format = require('util').format;

function funUpdateCommand(event,context,callback){

var mongoUrl='mongodb://**.**.**.**:*****/DBname';
// var mongoUrl='mongodb://127.0.0.1:27017/DBname';

MongoClient.connect(mongoUrl, function(err, db) {

if(err) throw err;

var collection = db.collection('device');

var interval = setInterval(function() {
collection.find({"deviceCommand.command":"getAudio","deviceCommand.timestamp":{ $lte: new Date((new Date)*1 - 60000*2)}}).toArray(function(err, results) {
if(err){
console.log(err);
}else{
for(var i=0;i<results.length;i++){
collection.update({_id:results[i]._id},{$set:{"deviceCommand.command":" "}},function(err, results) {

});
}
}
});
}, 5000);
});

context.succeed("Successfully uploaded");

}

exports.handler=funUpdateCommand;

我正在尝试更新 mongoDB 中的一些文档,我需要将 aws lambda 函数作为连续后台作业运行,但是当使用 setInterval 时它会返回超时错误。

如何使用 setInterval 连续运行我的 aws lambda 函数?

最佳答案

你不能让 lambda 永远运行。 Lambda 函数的生命周期仅限于 300 秒,300 秒后,您的函数就会终止。您可以使用 CloudWatch Events 通过 cron 表达式调用相同的 lambda 函数。

您可以通过 here 了解有关 lambda 限制的更多信息.

关于javascript - 如何在aws lambda函数中使用setInterval,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40590185/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com