超过 15 分钟后的 Lambda 执行超时

问题描述

我在 15 分钟后超过了 Lambda 执行超时。

原因是因为我有长时间运行的操作,这些操作将数千行数据插入和更新到 Salesforce。

下面是一一执行的代码

sfdc_ops.insert_case_records( records_to_insert_df,sf)
sfdc_ops.update_case_records( records_to_update_df,sf)
sfdc_ops.update_case_records( unprocessed_in_IKM_df,sf)
sfdc_ops.update_case_records( processed_in_IKM_df,sf)

我最终不需要等待每一行。我真正想做的是同时启动所有 4 个更新和插入进程。

避免 15 分钟限制的最佳解决方案是什么 - Step Functions?

解决方法

对于长时间运行的作业,例如 ETL 作业,建议使用 AWS Step Functions。您可以将四个更新操作拆分为单独的 Lambda,并在 Step Function 中编排它们以在 parallel 中运行。

,

我会重新考虑你的方法。如果您超过 15 分钟的限制,那么一个 lambda 函数将不适合您。

你能把它分解成更小的功能吗?一个 lambda 执行插入,一个执行更新并使用 Step Functions 编排它们?

您是否考虑过使用 AWS Batch 进行批处理而不是使用 Lambda 函数?