如何在 AWS 步进函数中自动缩放工作人员

How to Auto scale workers in AWS step functions

我们正在使用 AWS 步骤函数实施流程。此过程中的某些任务需要很长时间。我们在 ECS 实例中为此步骤使用 Activities(workers) 运行。状态机是这样的:

Trigger -> step 1 (Lambda) -> step2 (ECS) -> final step

有没有办法找到队列中等待 step2 工作人员拾取的任务数量,并使用此信息自动扩展工作人员(ECS 集群)?

您可以调用 api list_executions 来获取 运行 执行的列表和 比每个执行调用 get_execution_history.

在响应中您可以迭代执行事件。 如果你在列表中找到 ActivityScheduled 而你没有看到 ActivityStarted 这意味着它正在等待一个工作人员接受这个任务。

我发现 here 一个非常好的用例和 Step Function 自动缩放。

我将使用其中的一些见解,例如使用 cloudwatch 警报来设置获取当前状态(即扩大/缩小决策);使用 SQS 保持警报等