按顺序执行aws lambda函数

时间:2017-05-15 13:10:55

标签: amazon-web-services lambda locking aws-lambda

我编写了一个用于自动调度服务器命名的python脚本。它将检查自动缩放中的当前服务器,并为新服务器提供适当的名称和序列。

我通过自动缩放事件触发我的Aws lambda函数。当我同时带3个服务器(或新的自动调节所需的容量10)时,我不希望lambda并行执行。它使我的脚本为所有服务器分配相同的计数。

或者如果我可以实现某种锁定以使其他lambda处于等待状态。那我该怎么用呢。

1 个答案:

答案 0 :(得分:1)

有两个选项:

  1. 您可以使用DynamoDB表创建分布式锁。这将 帮助您维持一个状态,说明正在进行中。每一次 由于自动缩放事件,可以调用lambda函数 检查dynamodb中是否存在此记录。如果它没有创建一个, 然后继续如果存在,则不做任何事情并返回。在你的lambda之后 函数执行成功,删除此条目。这可能 将为您的总AWS账单添加不超过$ 2.00作为读取和 该表的写入容量非常低。
  2. 您可以使用步骤函数来实现此方案。 使用步进功能,您可以检查是否已经运行了 跳过。

    在此处阅读有关步骤函数的更多信息: https://aws.amazon.com/step-functions/