Node.js 使用Nodejs和AWS处理耗时的操作

Node.js 使用Nodejs和AWS处理耗时的操作,node.js,amazon-web-services,express,aws-lambda,Node.js,Amazon Web Services,Express,Aws Lambda,我正在处理的项目的当前设置是基于Nodejs/Express和AWS的。AWS Lambda每天都会触发,用于调用API端点,该端点预计将通过Sendgrid(数百到数千)发出不同数量的电子邮件。在电子邮件数量较少的情况下,它工作正常,但当电子邮件数量在1000左右时,Lambda超时,API崩溃 对Lambda的限制为1分钟。将时间提高到5分钟可能会使1000封电子邮件通过,但当数量达到数千封时可能会失败。除此之外,我们希望避免让服务器忙碌几分钟,因为最初它被设置为1分钟 我们现在正在寻找更好

我正在处理的项目的当前设置是基于Nodejs/Express和AWS的。AWS Lambda每天都会触发,用于调用API端点,该端点预计将通过Sendgrid(数百到数千)发出不同数量的电子邮件。在电子邮件数量较少的情况下,它工作正常,但当电子邮件数量在1000左右时,Lambda超时,API崩溃

对Lambda的限制为1分钟。将时间提高到5分钟可能会使1000封电子邮件通过,但当数量达到数千封时可能会失败。除此之外,我们希望避免让服务器忙碌几分钟,因为最初它被设置为1分钟

我们现在正在寻找更好的办法来解决这一具体情况。更好的方法是什么?是使用SNS队列还是无服务器,将发送电子邮件的所有代码移动到Lambda


感谢您提前提供的任何信息,如果需要更多信息,请告诉我。

lambda不是为长时间运行而设计的。你可以使用弹性豆茎工人


简单地说,lambda将任务发布到SQS队列,由弹性beanstalk应用程序处理。

lambda的最大超时时间是否为5分钟,是否超过5分钟?如果您需要的执行时间超过当前的最大值(即5分钟),则可以使用lambda触发发送电子邮件的aws fargate容器。Aws fargate使用您提供的docker容器进行soCan,您是否可以提供有关当前解决方案的更多详细信息?电子邮件地址存储在哪里?API端点是否为Sendgrids?如果是,是否有收费限制?Lambda是进行1次api调用还是1000次?Look up@GowthamChand最初将限制设置为60秒,目的是降低服务器繁忙的时间。将时间提高到5分钟可能适用于“1000封电子邮件”的情况,但可能在数千封邮件被解雇时达到极限。除此之外,我们希望避免让它忙碌2-3分钟。我也用这些信息更新了问题。