问题描述
我在 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 函数?