首页 > 解决方案 > 是否总是在同一台机器上启动特定的 AWS Lambda 函数?

问题描述

我们通过控制台在 Python 中创建了一个 AWS Lambda 函数,并通过单击“测试”按钮进行了测试。它工作正常。

所以现在我想明白,每次当我点击“测试”时,

如果不是,如果我在处理程序函数中创建一个子进程,如何在多次调用此 Lambda 函数之间获取正在运行的子进程?

感谢您的澄清!

标签: python-3.xamazon-web-servicesamazon-ec2aws-lambda

解决方案


AWS Lambda 函数有机会在同一台机器上重新运行同一个容器,它甚至可以重新启动在 Lambda 停止运行容器时正在容器中运行的进程。设计 Lambda 函数时要记住的重要一点是,这并不能保证。您必须编写 Lambda 函数,以便它可以处理在另一台机器上的干净环境中完成的后续执行。

请记住,AWS Lambda 函数将在运行 15 分钟后停止。请参阅:https ://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html

您可以尝试设计您的 Lambda,使其进行一些处理,然后将数据存储在其他位置,然后在前一个 Lambda 完成后,启动的下一个 Lambda 函数将执行更多处理。您通常希望将 Lambda 用于在执行更多处理之前等待特定事件或时间的工作负载。

使用 Lambda 的最佳用例之一是仅在需要时为处理能力付费。

对于您的用例,您可能需要考虑使用其他一些容器服务,例如:

EKS - https://aws.amazon.com/eks/ 或 ECS - https://aws.amazon.com/ecs/

或者甚至可能考虑 Elastic Beanstalk - https://aws.amazon.com/elasticbeanstalk/


推荐阅读