Amazon web services 哪个aws产品用于长时间运行的ruby任务执行?

Amazon web services 哪个aws产品用于长时间运行的ruby任务执行?,amazon-web-services,aws-serverless,Amazon Web Services,Aws Serverless,在我的应用程序中,我非常依赖AWS。我在SNS上看到了一些事件,一旦它们出现,我就需要启动长时间运行的任务。这类任务基本上是从多个web服务(不是AWS)中提取数据、对其进行协调,并将协调后的结果持久化到数据库中 由于请求的web服务的数据量和请求限制,我不能让它运行少于几个小时。因此,我需要“一些”AWS服务/产品,它允许我在执行就绪的环境中实例化脚本,然后运行几个小时。我经常使用lambda,但由于执行的持续时间,它们在这种情况下不起作用。当然,当任务没有执行时,我不想为这样的服务支付任何费

在我的应用程序中,我非常依赖AWS。我在SNS上看到了一些事件,一旦它们出现,我就需要启动长时间运行的任务。这类任务基本上是从多个web服务(不是AWS)中提取数据、对其进行协调,并将协调后的结果持久化到数据库中

由于请求的web服务的数据量和请求限制,我不能让它运行少于几个小时。因此,我需要“一些”AWS服务/产品,它允许我在执行就绪的环境中实例化脚本,然后运行几个小时。我经常使用lambda,但由于执行的持续时间,它们在这种情况下不起作用。当然,当任务没有执行时,我不想为这样的服务支付任何费用


当需要执行无服务器长时间运行的任务时,您会推荐AWS的哪些产品/体系结构?

我会创建一个部署到Fargate的ECS任务。您可以让SNS消息触发立即启动任务的内容,可能是通过在AWS Step函数中构建工作流,或者让SNS触发Lambda,然后创建ECS任务,或者您可以将其从SNS推送到SQS队列,并在ECS中定义一个服务,该服务根据队列中等待的消息数量自动伸缩


AWS批次可能非常适合这种情况。它将为您管理Fargate部署,甚至帮助您利用spot请求节省资金。

我将创建一个部署到Fargate的ECS任务。您可以让SNS消息触发立即启动任务的内容,可能是通过在AWS Step函数中构建工作流,或者让SNS触发Lambda,然后创建ECS任务,或者您可以将其从SNS推送到SQS队列,并在ECS中定义一个服务,该服务根据队列中等待的消息数量自动伸缩

AWS批次可能非常适合这种情况。它将为您管理Fargate部署,甚至帮助您利用spot请求节省资金