2

我们正在寻求使用无服务器框架(或类似框架)将 NestJS 应用程序(使用 Express)部署到 AWS Lambda(或类似框架)。

我们应该如何处理计划任务/ cron 作业?

我在NestJS 文档中注意到 NestJS 有一个官方包,它集成了node-cron.

你能在无服务器环境中使用这个包吗?如果不是,什么更合适?

4

1 回答 1

2

如果您在无服务器环境中运行应用程序,传统的 CRON 将不是一个好方法。相反,您应该考虑使用 AWS Cloudwatch 之类的东西通过 webhook/API 端点触发计时器上的重复事件。这可能会触发一个 Lambda,它将有效负载发送到您的 API,并设置了一些安全标头,以便您可以验证该请求是否应该实际执行

或者,您可以将无服务器 lambda 设置为仅由 HTTP 之外的外部事件触发,例如让 Cloudwatch 将消息推送到 EventBridge 上,这反过来可以安全地触发带有一些有效负载的 lambda 执行。不过,您可以在 NestJS 应用程序中为此配置一个额外的入口点

于 2020-10-06T16:34:31.387 回答