如何解决NestJS +无服务器/ Lambda上的任务计划/ CRON作业
我们希望使用无服务器框架(或类似框架)将NestJS应用程序(使用Express)部署到AWS Lambda(或类似框架)。
我们应该如何处理预定的任务/ cron作业?
我在the NestJS documentation中注意到,NestJS有一个集成了node-cron
的官方程序包。
您可以在无服务器环境中使用此软件包吗?如果没有,哪个更合适?
解决方法
如果您在无服务器环境中运行应用程序,那么传统的CRON并不是一个好的方法。相反,您应该考虑使用类似AWS Cloudwatch的工具通过Webhook / API端点触发计时器上的重复事件。这可能会触发Lambda,该Lambda会通过设置了一些安全标头的方式将有效负载发送到您的API,以便您可以验证请求是否应实际执行
或者,您也可以将无服务器lambda设置为由HTTP以外的外部事件触发,例如,让Cloudwatch将消息推送到EventBridge上,这又可以安全地触发具有某些有效负载的lambda的执行。不过,由您决定在NestJS应用中为此配置其他入口点
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。