在AWS EC2上按计划运行Node.js函数

我试图实现按计划的时间间隔在AWS EC2实例上运行Node.js代码的能力。 它与AWS Lambda的工作方式类似,但Lambda不提供我需要的资源量。 我已经有一个工作Node.js应用程序,我只需要得到它在EC2上运行(我认为)。

林新的服务器和EC2,所以我迷失在如何实现这一点。 我能够设置并运行一个EC2实例,但运行代码是另一回事。 我的想法是在EC2实例上托pipeNode.js应用程序,但在调度应用程序以在EC2中启动的时间表上运行Lambda函数。 我只是不知道从哪里开始学习如何做到这一点。

一如既往,感谢您的帮助!

       

网上收集的解决方案 "在AWS EC2上按计划运行Node.js函数"

不要使用Lambda来安排工作。 Linux服务器已经有一个叫做Cron的作业调度服务。 做一些search“cron”或“crontab”来学习如何在Linux上安排工作。

您可以通过使用CloudWatch事件触发Node.js Lambda来实现此目的。 用putRule API创build一个事件规则。 然后使用putTargets创build一个目标,将目标ARN设置为您的lambda的ARN。 例如:

 var cloudwatchevents = new AWS.CloudWatchEvents(); cloudwatchevents.putRule({ Name: 'my-rule', ScheduleExpression: 'rate(1 hour)` }, function(err, result) { cloudwatchevents.putTargets({ Rule: result.RuleArn, Targets: [ { Arn: myLambdaArn, Id: '1' } ] }, function(err, result) { ... }); }); 

这将每小时触发一次lambda。