首页 > 解决方案 > AWS 上的无服务器任务调度

问题描述

因此,我们的项目使用 Hangfire 来动态调度任务,但要记住服务器实例的自动缩放,我们决定取消它。我一直在寻找云原生无服务器解决方案,并决定将 CloudWatch Events 与 Lambda 结合使用。后来我发现,可以创建的规则数量有一个上限(每个帐户 100 个),并且不会自动扩展。所以现在我被困住了,任何建议都会很棒!

标签: amazon-web-servicesaws-lambdaamazon-cloudwatch

解决方案


所以我决定按照 Diego 的建议去做,每分钟使用 CloudWatch Events 触发一个 Lambda,它会查询 DynamoDB 以检查需要执行的任务。

我对将从 dynamoDb 获取的数据有些担心(如果执行时间超过 1 分钟,则会出现重复项),因此决定将该 Lambda 的并发设置为 1。

对于直接从 Lambda 本身执行这些任务(超时和任务在长列表末尾),我也有一些担忧,所以我正在做的是将任务分别推送到 SQS,另一个 Lambda 由 SQS 触发执行这些任务并行。到目前为止结果看起来不错,如果有任何事情发生,我会继续更新这个线程。


推荐阅读