使用 AWS Lambda + Cloudwatch 替代 Cronjob ()

Alternative to Cronjob using AWS Lambda + Cloudwatch ()

我是一家初创公司的开发人员,现在我们使用大约 30 个 cronjobs,其中一些 运行 每分钟一次,其他 运行 每天一次,而其他 运行在特定的日子里。问题是每分钟 运行,而大多数时间是不必要的。

这多少增加了我们的开支,因为在夜间,他们仍然 运行 而大多数时候我们的服务没有人在线(并且不需要 运行)。

我们一直在谈论使用 AWS 将那些 cronjobs 替换为基于事件的东西。然而,我找不到解决办法。这是我们的一个 cronjobs 的例子:

虽然我可以用 SNS + Lambda 事件替换它。基本上,当用户开始注册时,向 SNS 发送一条消息,这将触发 lambda 函数。然而,它只能在 8 分钟后 运行,而不是立即。

我在 SNS 上看到我们最多可以延迟 15 分钟,但我们有一些其他服务会在几个小时后发送电子邮件,这行不通

有人知道我该怎么做吗?

谢谢

您可以在调用 Lambda 函数之前使用 AWS step functions to implement the workflow and add a delay to wait