gpt4 book ai didi

python - Amazon Lambda 是否适合每天并行计算数百份报告?

转载 作者:行者123 更新时间:2023-11-28 21:10:42 24 4
gpt4 key购买 nike

我的现状:

我目前有一个 Python 脚本,它通过 HTTP 端点获取数据并每天计算和生成成百上千的报告。目前它在 AWS EC2 实例上运行,其中队列用于拆分跨四个线程生成的报告。一次四个,脚本获取数据,计算每个报告,并将其保存到 PostgreSQL Amazon RDS。

问题:

随着项目规模的扩大,我的脚本将无法足够快地计算,并且无法使用当前方法在一天内生成所需的所有报告。

寻找解决方案:

我偶然发现了 Amazon Lambda,但我还没有发现任何人将它用于与我类似的用例。我的计划是将需要生成的每个报告上传/放入它自己的 S3 存储桶中,然后在创建存储桶时触发 Lambda 函数。 Lambda 函数将执行所有数据提取(从 HTTP 端点)和所有计算并将其保存到我的 PostgreSQL Amazon RDS 中的一行。从理论上讲,这将使一切并行,并消除等待资源被释放的队列的需要。

基本上,我正在寻找一种解决方案,以确保我的脚本能够每天运行并每天完成,而不会过度运行到第二天。

我的问题:

Amazon Lambda 适合做这样的事情吗?

用 Amazon Lambda 做这样的事情(每天创建数百/数千个 s3 存储桶)成本会很高吗?

有更好的选择吗?

非常感谢任何帮助、建议、见解或提示。谢谢!

最佳答案

Would Amazon Lambda be suitable for something like this?

  • 运行时间不能超过 5 分钟。
  • 部署(尤其是当您有许多外部库时)有点笨拙
  • 您几乎无法控制 AWS 如何运行您的代码(可能会有延迟或暂停,日志更难获取)

如果这些对您来说不是很严重的问题,我认为您的问题听起来很合适。

Would it be costly to do something like this with Amazon Lambda (creating hundreds/thousands of s3 buckets a day)?

参见 Lambda PricingS3 Pricing .

每天创建数千个存储桶听起来不是个好主意(而且 AWS 可能不允许)。默认情况下,您的账户中可以有 100 个存储桶,每个存储桶名称都是全局的(针对该区域)。也许您的意思是一个存储桶中包含数千个 key ?

这一切都取决于您的报告大小、创建报告所需的时间和内存,以及从 AWS 获取报告的频率(即您为数据传输付费的时间)。 AWS 有一个 cost calculator尽管这有点麻烦,所以您可能更愿意自己从他们的定价页面上弄清楚。

Is there better options?

如果您的报告几乎一直在生成,您最好继续自己运行服务器。如果您偶尔获得非常大的批量,您最好竞标现货实例或寻找其他云服务提供商。如果您一整天都没有规律地爆发,那么 Lambda 似乎非常适合您。

关于python - Amazon Lambda 是否适合每天并行计算数百份报告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36298053/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com